mit "exec()" auf der kommandozeile hab ich bei sowas immer gut gearbeitet. was du allerdings bedenken solltest wäre ein 'cachen' (zwischenspeichern) der zip archive (erhöht geschwindigkeit, verringert CPU resourcen verbrauch). könntest sonst ein problem bekommen wenn mehrer hundert user alle auf einmal so ein zip archiv zusammenstellen wollen.