Ошибка при работе с библиотекой PclZip

jenia

Новичок
Ошибка при работе с библиотекой PclZip

Всем доброго времени суток.
У меня возникла такая проблема. При использовании библиотеки PclZip возникает ошибка:
Notice: Undefined index: filename_len in d:\www\sites\mis\html\fetida\lib\pclzip.lib.php on line 3949.
При этом всё работает как надо т.е. архив открывается, текст в файле читается. Код библиотеки привести не могу, т.к. там более 5000 строк (с коментариями). Может кто-то сталкивался с подобным? Помогите пожалуйста.
 

Long

Новичок
1. это не ошибка, это предупреждение об возможной ошибке.
2. при обращении к элементу массива нужно брать ключ в кавычки. т.е. должно выглядеть так $p_local_header['filename_len']
3. обнови версию PclZip
 

kruglov

Новичок
Long
Эта notice не из-за кавычек, а просто в массиве нету элемента с этим индексом
 

jenia

Новичок
Long
$p_local_header['filename_len'] - так и в коде - с кавычками, а версия у меня последняя - 2,3.
admin
Твоя ссылка не работает, но FAQ я читал. Может, кто-то разобрался, а мне это не помогло.
kruglov
Ты прав. Это не из-за кавычек. Действительно в массиве нет элемента с этим индексом. Но тогда зачем разработчики его используют?
Хотя и библиотека у меня работает (т.е. файл открывает), но неприятно, когда выдаётся ошибка. Что интересно, насколько я помню, эта библиотека у меня работала без ошибок где-то полгода назад. Может я изменил какие-то настройки PHP. Могло это повлиять? И какие настройки менять обратно?
 

Long

Новичок
kruglov, да, согласен :) читал "по диагонали"
jenia, судя по всему, разработчики просто забыли про эту переменную - данные из архива выбираются, а вот переменной не присваиваются. я бы сделал следующее - добавил бы сточку:
PHP:
$p_header['filename_len']=$v_data['filename_len'];
в функцию privReadFileHeader перед строчкой $p_header['filename'] = fread($this->zip_fd, $v_data['filename_len']);
 

kvf77

Red Devil
Вот правильная ссылка на FAQ по работе с архивами, в том числе на русскую доку по PclZip
http://phpclub.ru/faq/wakka.php?wakka=arch&v=qk
 

SiMM

Новичок
Alex_v.tv, глупости не говорите. Особенно после того, как нормальное решение было дано Longом и задокументировано в FAQ
PS: есть правда ещё одна ошибка под PHP 4.4.0. Которая легко правится.
 

Long

Новичок
SiMM я отписал багрепорт, разработчик ответил, что исправит в новой версии.
 

kvf77

Red Devil
Long

если учесть, что новая версия уже стока времени не выходил - не знаю, выйдет ли вообще :) А мне опять переводи - вот она доля нелегкая переводчика
 
Сверху