Архивация

Обсуждение серверного программирования.

Модераторы: Duncon, Yurich

Ответить
Аватара пользователя
Nikoshka
Сообщения: 120
Зарегистрирован: 15 май 2006, 05:24

Появилась такая проблема, есть gzip для чтения\записи и есть zip только для чтения.
Первый сжимает очень слабо т.е. где-то 10% получается для текстового файла.

Но zip, который прекрасно жмет в php доступен только для чтения. Может есть какой-то метод сжать файл сильнее? Файл текстовый.
Аватара пользователя
Oscar
Сообщения: 963
Зарегистрирован: 29 май 2004, 13:44
Откуда: Мюнхен (рожден в Киеве)
Контактная информация:

[syntax="PHP"]<?php
define("DEBUG", true);

$filename = "test.php";
$archive = $filename.".gz";

$text = implode('', file($filename));
$fp = fopen($archive, "w+");
fwrite($fp, gzcompress($text, 9));
fclose($fp);

echo "compression: ".round(filesize($archive)*100/filesize($filename))."%<hr>\n";

if (DEBUG) {
$result = implode('', file($archive));
$result = gzuncompress($result);
$result = htmlspecialchars($result);
echo "<pre>".$result."</pre>\n";
}
?>[/syntax]

у меня такая конструкция сжимает саму себя вполовину

Так же советую посмотреть сюда: http://php.net/zip
там описаны методы работы с ZIP файлами

кроме того, можно попробовать использовать exec("внешний зип")
Absurd
Сообщения: 1228
Зарегистрирован: 26 фев 2004, 13:24
Откуда: Pietari, Venäjä
Контактная информация:

Есть еще модуль для PHP который жмет в bzip2

http://ru2.php.net/manual/en/ref.bzip2.php
2B OR NOT(2B) = FF
Ответить