Mailinglisten-Archive |
Hallo alle zusammen,
Gibt es die Möglichkeit, in einem exec() (o.ä.)
Befehl mehrere Shell-Befehle auszuführen.
Zuerst sollte das Verzeichnis gewechselt werden ("cd"),
dann ("ZIP") ein Programm gestartet werden.
Ich habs mit "cd... ; zip..." versucht - geht aber nicht.
Ausführliche Erklärung meines Problems:
Ich möchte über exec()
mehrere JPGs in ein ZIP-File packen. Allerdings soll im ZIP-File
zwar eine Verzeichnisstruktur mitgespeichert werden,
aber nicht die komplette meines Servers:
Konkret heisst das:
die zu packenden Bilder liegen in
/home/httpd/pics/xy.jpg
das Zip-File soll hierhin:
/home/httpd/html/zipfiles/zzz.zip
Bis jetzt mache ich folgendes:
exec("zip /home/httpd/html/zipfiles/zzz.zip /home/httpd/pics/*.jpg");
Leider wird dann der komplette Pfad, d.h. /home/httpd/pics/...
mit im ZIP-File abgespeichert. Jetzt kann ich das ZIP zwar mit
der Option -j (junk) aufrufen, aber dann habe ich überhaupt keine
Pfade. Ich will aber Pfade, nur nicht alle ;-))
In der Shell kann ich dann folgendes machen. Ich rufe
das ZIP auf, mit der relativen Pfad-Angabe zu meinem
aktuelles Verzeichnis:
cd /home/httpd/
zip html/zipfiles/zzz.zip pics/*.jpg
Am Ende habe ich dann ein Zipfile mit
der Struktur:
/pics/
-- pic1.jpg
-- pic2.jpg
usw...
Wie geht das unter Php??
besten Dank für Eure Hilfe,
Christian Szardenings.
php::bar PHP Wiki - Listenarchive