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

Cloudmersive
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.

--

--

Cloudmersive

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