Логин:
Пароль:
Регистрация / Вост. Пароль
Доллар ⇒ 30.97 руб.
Евро       ⇒ 39.33 руб.
Интересный выбор светильников. Оригинальные светильники от фирмы Alterlight. Заходите. Ждем Вас! , Деятельность магазина Alterlight - продажа люстр. Модные люстры по хорошим ценам. , Мебель своими руками кровати двуспальные в Характер.



получить код:
E-mail Владельца сайта idezign.org
Углубляться в алгоритмы архивирования и сжатия я не буду, просто скачайте готовый класс createZip. Первоначальный источник данного класса к сожалению не помню, так что если вдруг найдется - прошу сообщить.

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

Для начало делаем инклюд файла с классом:
include_once( "CreateZipFile.inc.php" );

Ну, потом нужно объявить объект данного класса:
$createZip = new createZip;


Добавим в корень архива текстовый файл:
$fileContents = "Hello world!";
$createZip->addFile($fileContents, "textfile.txt");


Создадим новую директорию где будет создан новый zip файл:
$createMap = "zip/";
$createZip->addDirectory($createMap);


Допустим у нас есть текстпвый файл textfile.txt в директории где выполняется данный скрипт. Теперь нужно созданный новый архив с файлом textfile.txt:
$fileContents = file_get_contents("textfile.txt");
$createZipFile->addFile($fileContents, $createMap . $fileToZip);


Сохраняем архив на диск и выдаём посетителю ссылку:
$filename = "archive.zip";
$fd = fopen( $createMap . $filename, "wb");
$out = fwrite($fd, $createZip->getZippedfile());
fclose($fd);


echo "Скачать архив: $filename";


Всё достаточно легко и просто. При желании, можно выдать архив на лету, после чего его сразу удалить.В классе для этого есть вспомогательная функция forceDownload. Реализовать можно вот так:
$createZipFile->forceDownload($filename);
@unlink($filename);


Класс можно скачать здесь. Я сам использую этот класс в моём проекте Cut-Copy-Paste (iFile.eu). Пользуйтесь на здоровье!

Теги: create, Zip, архив, filename, можно, text, file, txt, Map, архива, Класс, Contents, нужно, класса, данного, новый, просто, класс, ссылку, выдаём, archive, fwrite, Сохраняем


Добавить на: Facebook Добавить на: Google Добавить на: Linkarena Добавить на: Power Oldie Добавить на: Digg Добавить на: Del.icio.us Добавить на: Reddit Добавить на: Jumptags Добавить на: Simpy Добавить на: StumbleUpon Добавить на: Slashdot Добавить на: Propeller Добавить на: Furl Добавить на: Yahoo Добавить на: Spurl Добавить на: Blinklist Добавить на: Blogmarks
Категория: Программирование / 17/01/2011 / автор: idezign / просмотров: 10185 / (1)
Мир ради радости и счастья — не ради притеснений и нужды. Низами

Время — врач всех неизбежных зол. Менандр
  

Посетители, находящиеся в группе Гость, не могут оставлять комментарии к данной публикации.

©2005-2010 idezign.org / Rules / Privacy
При цитировании или ином использовании материалов, опубликованных на "IDEZIGN", ссылка на «www.idezign.org» строго обязательна.