GZENCODE с большим файлом в процессорном пространстве провайдера

  • Автор темы Светлана PHP
  • Дата начала

Светлана PHP

Guest
GZENCODE с большим файлом в процессорном пространстве провайдера

Если всё упростить для более лучшего понимания, то суть вопроса можно свести к следующему:

1) Есть большой файл (пусть 3 мегабайта)
2) Есть хостинг, процессорное пространство на котором ограничено до 2 МГ.
3) Нужно сжать (gzencode) весь этот файл.

Делает ли gzencode какие-нибудь заголовки, что помешало бы клеить целевой файл кусочками? Если да, то как посоветуете решить задачу?

Спасибо заранее!
 

fixxxer

К.О.
Партнер клуба
а что мешает побить файл на куски, запаковать по отдельности, скачать запакованные куски, распаковать и склеить?
 

Светлана PHP

Guest
Собственно изначально это много файлов в разных каталогах, подкаталогах.

Класс-архиватор делает из них tar файл. Но до момента пока он наконец таки выдаст результат в виде конечного файла, он клеет их внутри своего процессорного пространства. Лишь только в конце он их gzencode.

Я думаю, а что если, пока он там формирует их особым образом (заголовки на уровне спецификации tar), gzencod'om обработать ->добавить в конечный файл->освободить внутреннее пространство. То есть грубо говоря, в памяти, максимум держиться один файл

-~{}~ 04.05.05 21:35:

Но если gzencode шьёт ещё свои заголовки... То решение в другом...

-~{}~ 04.05.05 21:36:

В чём?
 

fixxxer

К.О.
Партнер клуба
Могу предположить, что можно для частей делать gzcompress, а потом собирать все это дело в один .gz, не забыв ручками подписать хедеры. Но точно не скажу, внутренности формата gz не изучал.
 

Светлана PHP

Guest
Все там методы сжатия делают заголовки - вычитала комментах.

Ну нашла каммент GZIP. Ну что. Ну буду... ручками...

-~{}~ 04.05.05 22:09:

Ах ты батеньки! Да там контрольная сумма CRC32($file_content); ммдааа...
 

kruglov

Новичок
открываем popenом
tar -c -z -f - файлы-папки
и выдаем, что получаем.
 

Светлана PHP

Guest
Привет, Круглов! Чего то спать хочу... Не сразу въезжаю. А! Нет, слушай, нужно скриптом всё это. Не спрашивай почему, даже не смотря на то, что ты мне вчера помог... блин, надо скриптом.

Хорошо.
Вот такой вопрос: Как узнать CRC32 большого файла? Больше чем процессорное пространство?
 

fixxxer

К.О.
Партнер клуба
Если safe_mode=off и не требуется, чтобы работало на винде, то решение Круглова как раз идеально :)
 

Светлана PHP

Guest
CRC32 можно считать хоть байтами оказывается..
 
Сверху