расширение 7z для php?

Я не могу найти его и не знаю, есть ли какие-либо из сжатия и архивирования PHP. Расширения будут работать.

Как вы думаете, можно ли использовать поток сжатия для чтения данных из 7z файл?

ОБНОВИТЬ

  • форумы 7z имеют много запросов на расширение php

person Elzo Valugi    schedule 08.10.2010    source источник
comment
Если его нет, вы все равно можете использовать интерфейс execto с 7zip.   -  person Gordon    schedule 08.10.2010
comment
Я знаю, но я бы предпочел найти решение без exec.   -  person Elzo Valugi    schedule 08.10.2010
comment
Я подумывал написать расширение для 7-Zip, но... Сам 7-Zip предназначен только для Windows. p7zip, с другой стороны, не поддерживает Windows. Поэтому было бы сложно написать переносимое расширение. Тогда, если я правильно помню, есть проблема с лицензией LGPL, которая не идеальна. Можно было бы просто использовать LZMA SDK (я думаю, что у него есть переносимый C API), но это не одно и то же.   -  person Artefacto    schedule 20.10.2010
comment
Я тоже так думал, но у меня С кунг-фу не силен.   -  person Elzo Valugi    schedule 20.10.2010


Ответы (1)


Формат файла 7z может использовать различные алгоритмы сжатия, поэтому вы можете распаковать архив. с помощью одной из существующих утилит для bzip2 или deflate.

Я также нашел класс PHP 7z, и вам повезло, поскольку он все еще разрабатывается. Вот последняя версия .

person bobdiaes    schedule 08.10.2010
comment
На данный момент он протестирован только на Linux и ограничивается перечислением содержимого архива. Он также может возвращать Content-Type всех файлов. Он также может возвращать кодировку + содержимое файлов `text/...'. Он также может возвращать содержимое архивов, хранящихся в архиве. - person Elzo Valugi; 08.10.2010
comment
Ну, это лучше, чем ничего, я думаю. Возможно, с помощью LZMA SDK и SWIG для PHP может быть простым способом сделать расширение 7z. Хотя я не уверен, что это значительно лучше, чем использование программы командной строки через exec(). - person bobdiaes; 08.10.2010
comment
Поскольку этот ответ был опубликован, появилась более новая версия класса PHP, версия 0.13.3 (последняя версия на момент написания ответа была 0.13.1). Я обновляю ссылку на последнюю версию в ответе, чтобы она указывала на версию 0.13.3, для тех, кто (как и я) позже найдет этот ответ через поиск Google. - person rmunn; 15.10.2014
comment
Однако он по-прежнему не извлекает файлы, а просто перечисляет их. Что является довольно важной отсутствующей функцией. - person rmunn; 15.10.2014
comment
Да, не принял бы это как ответ... все равно ничего. - person Flash Thunder; 18.01.2015
comment
Ссылки мертвы! Я был бы очень признателен, если бы кто-нибудь из вас мог загрузить исходные файлы, мне это очень нужно! - person hedgehog90; 25.09.2015