|
|
|
| Насколько я знаю, сжать несколько файлов в один архив алгоритмом gzip нельзя. Нужно предварительно объединить все файлы утилитой tar, а затем сжать. Так вот, как можно средствами PHP сделать тарбол?
Нашёл парочку тем:
http://softtime.ru/forum/read.php?id_forum=1&id_theme=271
http://softtime.ru/forum/read.php?id_forum=1&id_theme=6548
но в них рассказывается про вызов сторонней утилиты. А как сделать исключительно средствами PHP? Например если файлы объединяются в один, то они должны как-то разделяться! Ключевым словом, например. И можно при помощи file_get_contents() получить содержимое файлов, а затем объединить в одну переменную, предварительно отделив один файл от другого с при помощи того самого ключевого слова... | |
|
|
|
|
|
|
|
для: Саня
(19.06.2006 в 00:56)
| | Можно поступить следующим образом - сформировать массив
<?php
$arr= ("имя_файла1" => "его_содержимое1",
"имя_файла2" => "его_содержимое2",
"имя_файла3" => "его_содержимое3",
"имя_файла4" => "его_содержимое4")
?>
|
Затем сериализовать массив (т.е. превратить его в строку).
И сжать, сохранив при этом в файле
<?php
// имя файла
$filename = "test.arr.gz";
// Открываем файл для записи (w) с максимальной
// степенью компрессии (9)
$zp = gzopen($filename, "w9");
// Записываем в файл строку $s
gzwrite($zp, $str);
// Закрываем файл
gzclose($zp);
?>
|
А при распаковке выполнить обратную процедуру. | |
|
|
|
|
|
|
|
для: cheops
(19.06.2006 в 11:37)
| | Мне бы что-нибудь совместимое со стандартными средствами, вроде winrar. А то запакую на сервере, а клиент не сможет у себя распаковать. | |
|
|
|
|
|
|
|
для: Саня
(19.06.2006 в 00:56)
| | Насколько я порылся в инете, tar файл содержит информацию о путях, дате, владельце, размере(?) файла. То есть все-таки лучше искать нормальное описание формата. | |
|
|
|
|
|
|
|
для: Loki
(19.06.2006 в 16:40)
| | Саня, сходил бы ты на PEAR и взял готовый модуль упаковки в любой архив (zip, tar, gz) и не мучался бы. Заодно поковырялся в коде где пакуетя в этот архив. | |
|
|
|
|
|
|
|
для: XPraptor
(19.06.2006 в 16:47)
| | Точно, блин! Буквально на днях был на PEAR и даже скачал себе расширение "File_Archive". А потом забыл про него :)
Всем спасибо. | |
|
|
|