How to extract Files and Folders from a Zip Archive in PHP
2 min readApr 18, 2020
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.