- Все для CMS | Joomla, Drupal, phpBB, Wordpress, DLE, IPB - http://cmsart.ru -

PHP: Создание ZIP архивов на лету

Posted By Archi On 02.07.2012 @ 3:55 пп In Язык PHP | No Comments

Углубляться в алгоритмы архивирования и сжатия я не буду, просто скачайте готовый класс createZip. Первоначальный источник данного класса к сожалению не помню, так что если вдруг найдется — прошу сообщить.

Класс createZip обеспечивает полноценную работу с формированием нового ZIP архива, с возможностью его выдачи на лету или сохранения на диск. Покажу несколько простых приёмов.

Ну, во-первый нужно объявить объект данного класса:

$createZip = new createZip;

Добавим в корень архива текстовый файл:

$fileContents = "Hello world!"; $createZip->addFile($fileContents, "textfile.txt");

Создадим новую директорию:

$createZip->addDirectory("images/");

Ну а теперь допустим у нас есть картинка image.png в директории где выполняется данный скрипт. Загрузим эту картинку в директорию images нашего архива:

$fileContents = file_get_contents("image.png"); $createZip->addFile($fileContents, "images/image.png");

Сохраняем архив на диск и выдаём посетителю ссылку:

$filename = "archive.zip"; $fd = fopen($filename, "wb"); $out = fwrite($fd, $createZip->getZippedfile()); fclose($fd); echo "Скачать архив: <a href=\"$filename\">$filename</a>";

Всё достаточно легко и просто. При желании, можно выдать архив на лету, после чего его сразу удалить. В классе для этого есть вспомогательная функция forceDownload.

Источник: internet-technologies.ru [1]


Article printed from Все для CMS | Joomla, Drupal, phpBB, Wordpress, DLE, IPB: http://cmsart.ru

URL to article: http://cmsart.ru/articles/php-articles/php-sozdanie-zip-arhivov-na-letu

URLs in this post:

[1] internet-technologies.ru: http://cmsart.ru/?goto=http%3A%2F%2Finternet-technologies.ru

Copyright © 2012 Поддержка CMS | Документация, статьи по Joomla, Drupal, phpBB. All rights reserved.