(PHP ActiveX) Unzip Selected Files from a Zip Archive
Demonstrates how to iterate over the files contained within a .zip and unzip specific files.
<?php
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
// For versions of Chilkat < 10.0.0, use new COM('Chilkat_9_5_0.Chilkat.Zip')
$zip = new COM("Chilkat.Zip");
$success = $zip->OpenZip('my_files.zip');
if ($success != 1) {
print $zip->LastErrorText . "\n";
exit;
}
$unzipDir = '/temp/unzipDir';
// Get the number of files and directories in the .zip
$n = $zip->NumEntries;
print $n . "\n";
for ($i = 0; $i <= $n - 1; $i++) {
// entry is a Chilkat.ZipEntry
$entry = $zip->GetEntryByIndex($i);
if ($entry->IsDirectory == 0) {
// (the filename may include a path)
print $entry->FileName . "\n";
// Your application may choose to unzip this entry
// based on the filename.
// If the entry should be unzipped, then call Extract(unzipDir)
$success = $entry->Extract($unzipDir);
if ($success != 1) {
print $entry->LastErrorText . "\n";
exit;
}
}
}
?>
|