zip через php имеет другой размер, как через winrar - PullRequest
0 голосов
/ 23 сентября 2010

я создаю один zip-архив через php, а другой zip-архив - через winrar, но из тех же файлов.

Размер двух архивов различен.один через winrar больше (2 байта).

почему?спасибо.

ОК СЕЙЧАС.zip был создан правильно с использованием php.

проблема заключалась в том, что я отправлял его с использованием

header('Content-Type: application/zip');
header('Content-disposition: attachment; filename='.$name);
header('Content-Length: ' . filesize($name));

, и там нет ob_start(); и ob_end_clean();

, поэтомуразмер файла, который приходит через заголовок, был другим ... в любом случае спасибо за вашу помощь;)

1 Ответ

1 голос
/ 23 сентября 2010

Может быть много причин.Моя ставка, поскольку она составляет всего 2 байта, заключается в том, что winrar добавляет в архив специальную идентификационную метку, чтобы узнать, что это сделал winrar.

Другая возможность заключается в том, что вы можете установить различные уровни сжатия, а функция php zip может быть настроена на более высокую степень сжатия.Либо, либо может быть правдой, единственный способ по-настоящему выяснить это использовать шестнадцатеричный редактор, изучить два файла и посмотреть, где может лежать разница.

Другой способ проверить это - сжать файлы разных размеров (но одинаковые) и посмотреть, всегда ли разница составляет два байта.Если это всегда два байта, хорошо winrar добавляет опознавательный знак.Если это не так, это разные степени сжатия.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...