Как использовать метод usePassword в Zipper?

#php #laravel-5 #zip #extract #zipper

#php #laravel-5 #zip #извлечь #zipper

Вопрос:

Пожалуйста, скажите мне, как использовать метод ‘usePassword’ для извлечения zip-файла, который защищен паролем.

    $files = array_diff(scandir($zipdir), array('..', '.'));
   $zip = new ChumperZipperZipper;

   foreach($files as $key=>$value1){
       $zip->make($zipdir.'/'.$value1)->extractTo($extractdir);
   }
  

Здесь, в приведенном выше коде, я хочу использовать метод usePassword для извлечения zip с использованием пароля, потому что $ value1 — это zip, который защищен паролем. Но я не знаю, как использовать этот метод для Zipper.
Пожалуйста, помогите мне.У меня также есть сообщение здесь, в проблеме github

Заранее спасибо

Ответ №1:

вызовите его из созданного объекта. Использовать:

 $zip->usePassword('pwd');
  

непосредственно перед

 $zip->make(.....);
  

Комментарии:

1. Выдает ошибку типа ‘Вызов функции-члена usePassword () при null’ — пожалуйста, подскажите, что я делаю не так?

2. Похоже, ваша переменная $ zip неправильно определена как object

3. но объект $ zip завершает работу с zip без пароля, как это не работает с защищенным паролем zip?

4. вы используете Zipper:: для вызова класса вместо объекта. usePassword — это нестатическая функция, которая может быть вызвана только из созданного объекта (вашей переменной $zip)

5. но теперь я уже использовал $ zip-> usePassword(‘pwd’); $ zip-> make($zipdir.’/’.$value1); $ zip-> extractTo ($ extractdir); этот тип как obejct с, но безуспешно.

Ответ №2:

Я пытался использовать usePassword в Zipper, но это не сработало, я рекомендую использовать SetPassword в ZipArchive. И это сработало со мной.