Wenn du mit PHP zugriff auf die auf Shellebene agierenden Funktionen hast, verwende system("zip -r zieldatei ./quellpfad/");
Das spart sicherlich erheblich Performance im Gegensatz zu einem PHP-Batch.
ansonsten schau dir mal die Funktion gzencode() an. Ich hab nie versucht mit einer solchen Funkion ein Archiv aus einer oder mehrerer Datei(en) zu erstellen. Ich hatte bisher immer Shell-Zugriff.
...
Dummerweise habe ich weder Zugriff auf System noch auf Exec. Und wie es scheint schaft GLib nur Strings zu verschlüsseln. Also hab ich so gemacht:
Zum verpacken, wobei $dir_to_pack das zu packende Verzeichnis enthält...
Zum Entpacken. $file_to_unpack enthält den Dateinamen.
Ich habe die Quelltexte 1:1 aus meinem Blog (sieh Sig ) übernommen, und hier schnell etwas allgemeiener umgeschrieben. Sie müssten funktionieren, sind aber nicht getestet.
Ich übernehme Support falls die Skripte nicht gehen nur per PN.