В одной из моих программ мне нужно защитить файл zip и паролем с помощью php. В php, zip защита паролем поддерживается только в 5.6. Я не могу обновить версию php по какой-либо технической причине. Поэтому я загружаю 7zip-программное обеспечение в мою систему Windows и проникаю через командную строку.
это две команды
set PATH=%PATH%;C:\Program Files\7-Zip
7z a D:\test.zip d:/xampp/testdata -ptest
Это прекрасно работает в моей командной строке. Это не работает, когда я сделал с PHP
Это мой код
$enviornment = "set PATH=%PATH%;C:\Program Files\7-Zip";
exec($enviornment , $output, $return);
$cmd = "7z a D:\test.zip d:/xampp/testdata -ptest";
exec($cmd , $output, $return);
Это оба возвращают 0 как результат.
Код возврата «0» означает, что программа завершилась нормально без ошибка.
Так же, как информация:
Вот список общих ненулевых (ошибочных) кодов возврата
PS: будьте осторожны с обратной косой чертой (\) в строках. В середине строки вы можете использовать один «\», но в конце вы должны использовать двойной «\\»
$str = "ABC\DEF"; //OK
$str2 = "ABCDEF\\"; //OK
Других решений пока нет …