2016-05-11 3 views
0

Я пытаюсь создать .zip-файл папки в Linux.Сжатие ZIP-файлов на сервере Linux с помощью PHP

Сначала я туда, где сжатая папка:

shell_exec('cd /var/www/vhosts/website/test/'); 

Тест папка имеет testzip папки, которые должны быть заархивированы и послал куда-нибудь еще:

shell_exec('zip a -r -tzip /var/www/vhosts/website/zip/save/testzip.zip /var/www/vhosts/website/test/testzip'); 

Это должно создать testzip.zip. Как-то это не работает.

Может ли кто-нибудь помочь?

+0

Вы проверили, что команда zip установлена ​​в Linux? –

ответ

0

Попробуйте с

"zip -a -r ..." 

вместо

"zip a -r ..." 

--- EDIT ---

Читая комментарий Марка Адлера, я понял, что вы используете zip с 7-значными параметрами.

Итак ... вы уверены, что ваш zip является ссылкой на 7z?

Во всяком случае, я предлагаю вам, чтобы избежать двусмысленности: это ваше намерение использовать 7z, явное его с

"7z a -r -tzip ..." 

Если вы хотите вызвать zip исполняемый файл, используйте правильный zip синтаксис.

p.s .: Извините за мой плохой английский

1

Те не являются опционами на молнии. Что вы просите с помощью -tzip? В начале a создаст a.zip. Если вы имели в виду -a, то для zip нет -a. Единственный вариант, который имеет смысл, - это -r, чтобы записаться в подкаталоги.

Сначала запустите команду непосредственно в оболочке и устраните ошибки, которые вы получаете, прежде чем пытаться использовать shell_exec().