How to extract Files and Folders from a Zip Archive in PHP

Today we need to create the ability to work with zip archives, namely extracting them to access the contents. Without further ado, let me teach you the absolute simplest method to get this done via PHP.

Before we do anything else, we must install our API client. We can use this snippet in the command line to have Composer take care of that.

composer require cloudmersive/cloudmersive_document_convert_api_client

Time to call zipArchiveZipExtract now.

<?phprequire_once(__DIR__ . '/vendor/autoload.php');// Configure API key authorization: Apikey$config = Swagger\Client\Configuration::getDefaultConfiguration()->setApiKey('Apikey', 'YOUR_API_KEY');// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed// $config = Swagger\Client\Configuration::getDefaultConfiguration()->setApiKeyPrefix('Apikey', 'Bearer');$apiInstance = new Swagger\Client\Api\ZipArchiveApi(// If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.// This is optional, `GuzzleHttp\Client` will be used as default.new GuzzleHttp\Client(),$config);$input_file = "/path/to/file"; // \SplFileObject | Input file to perform the operation on.try {$result = $apiInstance->zipArchiveZipExtract($input_file);print_r($result);} catch (Exception $e) {echo 'Exception when calling ZipArchiveApi->zipArchiveZipExtract: ', $e->getMessage(), PHP_EOL;}?>

And there it is, your finished method for implementing unzipping. It’s as simple as dropping in your file as the $input_file and waiting for the results. Talk about easy.

Image for post
Image for post

Written by

There’s an API for that. Cloudmersive is a leader in Highly Scalable Cloud APIs.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store