Разработка PHP скрипта для извлечения файлов из zip архива
В прошлый раз я рассказывал о том, как создать zip архив с помощью PHP. Мы написали небольшой PHP скрипт, который создает zip архив файлами из заданной папки.
Сегодня я покажу, как выполнить обратную операцию, т.е. извлечь файлы из архива.
Напомню, что для работы с архивом необходимо создать объект типа ZipArchive. С помощью методов этого объекта можно добавлять/удалять/извлекать файлы, получать информацию об архиве и т.д.
Извлечение выполняется в три этапа:
1) открываем архив (с помощью метода open(…));
2) извлекаем файлы (метод extractTo(…));
3) закрываем архив (метод close()).
Теперь посмотрим пример:
-
<?php
-
//папка с архивом
-
$archive_dir = "E:/archiveFolder/";
-
//папка в которой будут размещены файлы архива
-
$dest_dir = "E:/destFolder/";
-
-
//открываем zip архив
-
$zip = new ZipArchive();
-
//имя файла архива
-
$fileName = $archive_dir."backup_6_11_2007_08_11_09.zip";
-
if ($zip->open($fileName) !== true) {
-
}
-
-
//читаем сведения об архиве
-
-
//извлекаем файлы
-
$zip->extractTo($dest_dir);
-
-
//закрываем архив
-
$zip->close();
-
-
-
?>
Как видите, скрипт достаточно простой.
В переменных $archive_dir, $dest_dir, $fileName мы задаем имя папки с архивом, имя папки, в которую будут распакованы файлы, и имя архива (предполагается, что архив находится в папке $archive_dir).
После этого мы открываем архив (строка 11). Обратите внимание, что здесь используется тот же метод open(), что и при создании архива, но константа ZIPARCHIVE::CREATE не указывается. Мы собираемся что-то извлечь из архива, значит, он должен существовать.
Затем мы выводим информацию об архиве (строки 17-21) и распаковываем его (строка 24). Метод extractTo(…) принимает только два параметра. Первый – имя папки, в которую будет извлечено содержимое архива. Второй (необязательный) – имена объектов, которые необходимо извлечь. В нашем примере второй параметр не задан. Это означает, что будет распаковано все содержимое архива.
После окончания работы с архивом его необходимо закрыть, что мы и сделали в строке 27.
Запустить скрипт можно командой:
php путь_к_папке_со_скриптом\имя_скрипта.php
Если вы все сделали правильно, то в папке “E:/destFolder/” вы найдете извлеченные файлы.
Понравилась статья? Подпишитесь на продолжение
!
Опубликовано в PHP
Один комментарий
Вы можете отслеживать обсуждение записи с помощью RSS 2.0 ![]()
Вы также можете оставить комментарий, или трекбек с Вашего сайта.
Оставить комментарий







[...] Разработка PHP скрипта для извлечения файлов из zip архив… [...]