![]() |
| Home | Это обо мне | Аватары | Фэнтези | Афоризмы | Спонсорам | Подписаться на RSS | ||||
Category
Archives |
« Next Item: Тизерная реклама и клики или опыт работы с тизерными партнерками Previous Item: Обновление дублирующих при добавлении данных в MySQL » PHP архивация файлов в формате ZIP
Здравствуйте, уважаемые посетители моего блога Курилка.co.ua. Ничто не стоит на месте и такой язык программирования как PHP активно развивается. Если вам необходимо работать с ZIP архивами файлов, вы можете воспользоваться классом ZipArchive. Тем не менее, старые и проверенные временем решения не утратили своей привлекательности. Но все по порядку. В начале, давайте попытаемся ответить на вопрос: «Что такое zip-архив?»
Этот формат был разработан Филом Кацем для использования в программе PKZIP. Впоследствии появилось множество других утилит, создающих файл в таком же формате. Если вас заинтересовал этот вопрос, советую ознакомить с соответствующей статьёй в Википедии. Ну а теперь к делу. Иногда бывает необходимо хранить файлы в архивах. С одной стороны они меньше по объёму, с другой несколько файлов можно поместить в один. Конечно, для архивации файлов можно воспользоваться специальным программным обеспечением, к примеру WinZip или 7-zip, но в некоторых случаях имеет смысл автоматизировать процесс. В данной заметке мы поговорим о такой штуке как Zip file creation class — класс найденный мной в сборке phpMyAdmin. Не вдаваясь в подробности, рассмотрим основные его функции: addFile($data, $name, $time=0) Описание: добавление файла в архив.
file() Описание: архивирует и возвращает заархивированные данные в виде строки. Для наглядности работы с классом приведу небольшой пример:
Как вы видите, здесь мы создали объект $zipfile, заархивировали данные $data функцией addFile как файл filename.txt и получили архивированные данные функцией file(), которые сохранили как файл filename.zip. К слову, если вы хотите сохранить файл с кириллическими именами, не забудьте сконвертировать их в досовскую кодировку cp866, к примеру так (за подсказку спасибо Александру):
Leave a reply11 Responses for "PHP архивация файлов в формате ZIP"
|
Popular links |
||
| Copyright © since 2006 Курилка.co.ua, powered by WordPress |
|
publish: Понедельник Мар 31, 2008 at 1:29 пп
А как можно указать кодировку для архива ??? А то когда архивирую файлы с названиями на русском он в архиве кабрязульки выдаёт !
Как можно исправить подобное недразумение ????
publish: Понедельник Мар 31, 2008 at 2:38 пп
2Zigmund: hi! Наверное, добавлять файлы таки с латинскими буквами. Можно использовать транслит
publish: Понедельник Апр 14, 2008 at 6:51 пп
Я думаю кодировку надо указывать не для архива а для веб страницы или я вас не правильно понял…
publish: Понедельник Апр 14, 2008 at 8:39 пп
2Canadian pharmacy: вроде о проблеме с кодировкой содержания файла не идет. Речь о названиях файла(ов)
publish: Четверг Апр 17, 2008 at 2:40 пп
Вопрос: А как можно засунуть в архив более одного файла?
publish: Четверг Апр 17, 2008 at 3:11 пп
2Vektor: если не ошибаюсь, то просто несколько раз используйте
$zipfile->addFile($data, $name);publish: Вторник Фев 3, 2009 at 10:41 дп
а чтобы кобрязулек не было в имени файла нада имя файла в дос конверить iconv(‘windows-1251′,’cp866′, «Имя файла»)
а кодировка содержимого тута не причем
publish: Вторник Фев 3, 2009 at 12:49 пп
2Александр: hi! Спасибо за подсказку!
publish: Среда Июл 22, 2009 at 2:46 пп
для больших архивов не покатит
publish: Среда Авг 26, 2009 at 10:43 пп
Ух ты, а классно объяснено
кратёхонько и доходчиво, спасибо вам большое, позаимствовал
publish: Вторник Май 3, 2011 at 11:55 дп
Супер! Спасибо! Можно в один архив много файлов записывать, все очень просто.