Gemorroj / Archive7z

This library provides handling of 7z files in PHP
GNU Lesser General Public License v3.0
89 stars 20 forks source link

Got $entry->getPackedSize() only for first file #5

Closed wapmorgan closed 7 years ago

wapmorgan commented 7 years ago

Hi. Tried library and faced this issue.

                $this->seven_zip = new \Archive7z\Archive7z($filename);
                foreach ($this->seven_zip->getEntries() as $entry) {
                    var_dump($entry->getPackedSize());
                }

It returns only first file value. Also, that's value for all array, not for specified file.

string(5) "10584"
string(0) ""
string(0) ""
string(0) ""
string(0) ""
string(0) ""
string(0) ""
string(0) ""
Gemorroj commented 7 years ago

Скорее тут проблема в выдаче Packed Size самим 7-zip. Для латиницы Packed Size выдается нормально. А для кириллицы пустое значение. Создал баг на форуме 7-zip. https://sourceforge.net/p/sevenzip/discussion/45797/thread/c8c8b533/

P.S. прикрепи, пожалуйста свой тестовый архив, чтобы убедиться, что догадка с нелатинскими названиями верна.

wapmorgan commented 7 years ago

Ок, невозможно.

Gemorroj commented 7 years ago

Судя по ответу Игоря Павлова (разработчика 7-zip), проблема не в названии файлов, а в структуре их хранения. Packed Size выдается только для первого файла внутри solid (не знаю как перевести) блока.