Автор Тема: ZLIB  (Прочитано 3963 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
ZLIB
« : 26 Декабря 2001, 21:25:47 »
Нужно периодически архивировать сравнительно большие бинарные файлы с помошью zlib.
Кто что посоветует? (можно алгоритм) Главный критерий - низкая нагрузка на сервер.

И еще вопрос по zlib.
Можно ли с его помощью сделать архив в который можно было бы поместить 2 и более файла?
И как потом эти файлы разархивировать?
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
ZLIB
« Ответ #1 : 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
AS IS...

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
ZLIB
« Ответ #2 : 27 Декабря 2001, 01:59:27 »
Как поместить более одного файла - бог его знает. Он все в один сливает. Может кто и додумается.
AS IS...

Оффлайн Oak

  • Дерево
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1481
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
ZLIB
« Ответ #3 : 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
[основной броузер - SeaMonkey] Netscape Communicator 4 - is the best :) // see sources

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
ZLIB
« Ответ #4 : 27 Декабря 2001, 02:16:08 »
Я в общем-то так и думал. А тары в РНР делать никак :(((
И зипы тоже. :( только читать, дя и то начиная с версии 4.1.0.
AS IS...

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
ZLIB
« Ответ #5 : 27 Декабря 2001, 16:29:18 »
ThE0ReTiC
Цитировать
А тары в РНР делать никак ((
Есть у меня PEAR-вский класс Archive_Tar - вроде как должен архивировать tar-ом. Я с ним не работал, времени в обрез.

Что касается приведенного тобой скрипта, то ИМХО при размерах файлов в 100 - 500 и более Кб это будет немного сервер грузить. Или не так?
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
ZLIB
« Ответ #6 : 27 Декабря 2001, 16:35:45 »
Будет. Не спорю. Дома машину прилично нагружало. Правда это проблема машины.
А класс посмотреть дай ? :)
AS IS...

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Archive_Tar прилагается
« Ответ #7 : 27 Декабря 2001, 17:19:28 »
Цитировать
Правда это проблема машины.
Это еще и мои проблемы, поскольку нужно доказать хостеру что этот скрипт совсем не будет грузить сервер. А он (скрипт) еще должен по crontab-у каждый день  паковать файлов 6 - 8.
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
ZLIB
« Ответ #8 : 27 Декабря 2001, 17:21:41 »
Тхенкс.
Правда я имел ввиду свою машину дома :):)
AS IS...

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28