Как с помощью php заархивировать файл?

19 Фев 2011, рубрика: Верстка |

Одним из самых легких и оптимальных способов заархивировать файл средствами php, является использование библиотеки PCLZip. В этой библиотеке размещается класс PclZip, объекты которого и есть архивы.

Скачиваем библиотеку отсюда, и загружаем себе на сервер.

Где-нибудь в php скрипте подключаем ее:

require_once('pclzip.lib.php');

Чтобы создать архив, нужно создать объект класса PclZip:

$archive = new PclZip('archive.zip');

Все что осталось сделать, так это добавить файлы в архив.

Делается это с помощью функции add, указав путь к файлу, например:

$archive->add('polezniy.txt');

Для извлечения файла из архива существует функция extract. При этом, функции нужно указать путь, куда будут извлечены файлы. Например:

$list = $archive->extract(PCLZIP_OPT_PATH, "folder");

При этом в функциях add и extract можно использовать дополнительные параметры, которые позволяют манипулировать файлами, путями и так далее. Например:

PCLZIP_OPT_REMOVE_PATH
Этот аргумент позволяет подавить часть или весь путь файлов (или папок) при их извлечении. Это позволит архивировать файл '/usr/local/user/test/file.txt' подобно файлу с названием 'test/file.txt' или извлекать файл, сохраненный как 'folder/data/file.txt' как файл 'data/file.txt'.
Значение – текстовая строка.

$list = $archive>add("/usr/local/user/test/file.txt",PCLZIP_OPT_REMOVE_PATH, "/usr/local/user");

Этих дополнительных параметров очень много, по этому описывать здесь я их не буду. Все они подробно описаны в неофициальной документации к библиотеке. Моей целью было познакомить вас с библиотекой PclZip, которая позволяет очень просто заархивироватьфайл с помощью php.




Оцените полезность!
Не полезноПолезно (+11 баллов, 15 оценок)

Один комментарий на «Как с помощью php заархивировать файл?»

  1. Поисковые системы, в которые нужно добавить свой сайт | Сидаш.ру пишет:

    [...]  А Вы знаете как с помощью php заархивировать файл? Блог Полезного Вам в [...]

Ваш отзыв

.Все права защищены © 2017 Блог Полезного.