как распаковать несколько файлов zip

У меня есть несколько ziped файлов в папке. Я хотел бы распаковать их в указанную папку. У меня есть следующий код PHP:

$path = "docs/" . $ID;
$files = scandir("temp" . '/' . $ID );
foreach ($files as $athely){
$zip = new ZipArchive;
$res = $zip->open($athely);
if ($res === TRUE) {
// extract it to the path we determined above
$zip->extractTo($path);
$zip->close();
echo "WOOT! $file extracted to $path";
} else {
echo "Doh! I couldn't open $athely";
}
}

Это не работает. Что я делаю неправильно?

0

Решение

Проблема была в том, что вы не используете полный путь для открытия почтового индекса. Еще одна вещь, на которую следует обратить внимание: если в одном и том же zip-файле есть папка с одинаковым именем, одна папка будет перезаписана другой.

<?php
$path = "docs/" . $ID;
$files = scandir("temp" . '/' . $ID );

foreach ($files as $athely){
if($athely=="." || $athely=="..") continue;

$target_path = "temp/".$ID."/".$athely;
$file = $athely;

$zip = new ZipArchive;
$res = $zip->open($target_path);

if ($res === TRUE) {
$zip->extractTo($path);
$zip->close();
echo "WOOT! $file extracted to $path";
} else {
echo "Doh! I couldn't open $athely";
}
}
?>
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]