2016-05-11 9 views
0

Ich versuche, eine .zip-Datei eines Ordners in Linux zu erstellen.Komprimieren von ZIP-Dateien in einem Linux-Server mit PHP

Zuerst habe ich dorthin gehen, wo die komprimierten Ordner sind:

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

Der Ordner Test hat den Ordner testzip, die gezippt werden sollten und woanders geschickt:

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

erstellen. Irgendwie funktioniert das nicht.

Konnte jemand helfen?

+0

Haben Sie überprüft, Zip-Befehl ist in Linux installiert? –

Antwort

0

Versuchen mit

"zip -a -r ..." 

statt

"zip a -r ..." 

--- EDIT ---

den Kommentar von Mark Adler Lesen, erkannte ich, dass Sie zip verwenden mit 7-zip-Parametern.

Also ... sind Sie sicher, dass Ihre zip eine Verbindung zu 7z ist?

Wie auch immer, ich schlage vor, Sie Unklarheiten zu vermeiden: ist Ihre Absicht 7z verwenden, explizit mit

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

Wenn Sie die zip ausführbaren wollen rufen, um eine korrekte zip Syntax.

ps.s .: Entschuldigung für mein schlechtes Englisch

1

Das sind keine Optionen für zip. Wonach versuchst du mit -tzip zu fragen? Die a am Anfang würde eine a.zip erstellen. Wenn Sie -a gemeint haben, gibt es keine -a Option für zip. Die einzige Option, die Sinn macht, ist die -r, in Unterverzeichnisse zu rekrutieren.

Zuerst führen Sie den Befehl direkt in der Shell und beheben Sie die Fehler, bevor Sie versuchen, shell_exec() zu verwenden.