У меня есть файл с именем a.zip
, который содержит несколько txt.gz
файлов. Я хочу разархивировать все файлы и извлечь файлы .txt
из файлов .txt.gz
, поэтому у меня остался каталог .txt
файлов.
Я использую следующую функцию, но она не работает.
function unzip($source_path,$destination_path)
{
$dh = opendir($source_path);
while ($file = readdir($dh))
{
$zip = zip_open($destination_path.$file);
if (is_resource($zip))
{
while ($zip_entry = zip_read($zip))
{
$fp = fopen($destination_path.zip_entry_name($zip_entry), "w");
if (zip_entry_open($zip, $zip_entry, "r"))
{
$buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
fwrite($fp,"$buf");
zip_entry_close($zip_entry);
fclose($fp);
}
}
zip_close($zip);
}
}
}