Forum Webscript.Ru

Программирование => PHP => Тема начата: Макс от 26 Декабря 2001, 21:25:47

Название: ZLIB
Отправлено: Макс от 26 Декабря 2001, 21:25:47
Нужно периодически архивировать сравнительно большие бинарные файлы с помошью zlib.
Кто что посоветует? (можно алгоритм) Главный критерий - низкая нагрузка на сервер.

И еще вопрос по zlib.
Можно ли с его помощью сделать архив в который можно было бы поместить 2 и более файла?
И как потом эти файлы разархивировать?
Название: ZLIB
Отправлено: ThE0ReTiC от 27 Декабря 2001, 00:45:23
Так алгоритм совершенно прозрачен.

$comp_file = gzopen("notepadf.gz","wb9f");
$unc_file = fopen("Notepad.exe","rb");
if(!$unc_file)
{
die(\'Can\\\'t open file\');
}
$fs = filesize("Notepad.exe");
echo$fs.\'
\';
$to_comp = fread($unc_file,$fs);
fclose($unc_file);
gzwrite($comp_file,$to_comp);
gzclose($comp_file);
echo\'Complete\';


Собсно при откытии в gzopen вторым параметром идет степень компресии (от 1 до 9. 9 максимум) и алгоритм (f - фильтрация, h- по Хоффману).
Приведенный пример дал следующие результаты:
Оригинальный файл - 66048byte
Без выбора стратегии (никаких ключей) - 34189
Фильтрация - 36523
Хоффман - 47106
Название: ZLIB
Отправлено: ThE0ReTiC от 27 Декабря 2001, 01:59:27
Как поместить более одного файла - бог его знает. Он все в один сливает. Может кто и додумается.
Название: ZLIB
Отправлено: Oak от 27 Декабря 2001, 02:14:52
Voobscheto pod Unix kazhdaya programma svoim zanimaetsya :)
TAR - slivaet kuchu fajlov v odin (sohranyaya datu sozdaniya, prava i dr)
GZ - potom arhiviruet etot odin fajl :)

poluchaem file.tar.gz ili sokraschenno  file.tgz
Название: ZLIB
Отправлено: ThE0ReTiC от 27 Декабря 2001, 02:16:08
Я в общем-то так и думал. А тары в РНР делать никак :(((
И зипы тоже. :( только читать, дя и то начиная с версии 4.1.0.
Название: ZLIB
Отправлено: Макс от 27 Декабря 2001, 16:29:18
ThE0ReTiC
Цитировать
А тары в РНР делать никак ((
Есть у меня PEAR-вский класс Archive_Tar - вроде как должен архивировать tar-ом. Я с ним не работал, времени в обрез.

Что касается приведенного тобой скрипта, то ИМХО при размерах файлов в 100 - 500 и более Кб это будет немного сервер грузить. Или не так?
Название: ZLIB
Отправлено: ThE0ReTiC от 27 Декабря 2001, 16:35:45
Будет. Не спорю. Дома машину прилично нагружало. Правда это проблема машины.
А класс посмотреть дай ? :)
Название: Archive_Tar прилагается
Отправлено: Макс от 27 Декабря 2001, 17:19:28
Цитировать
Правда это проблема машины.
Это еще и мои проблемы, поскольку нужно доказать хостеру что этот скрипт совсем не будет грузить сервер. А он (скрипт) еще должен по crontab-у каждый день  паковать файлов 6 - 8.
Название: ZLIB
Отправлено: ThE0ReTiC от 27 Декабря 2001, 17:21:41
Тхенкс.
Правда я имел ввиду свою машину дома :):)