Mailinglisten-Archive |
Aloha, > ---------- > Von: Matthias Kunze[SMTP:mk_(at)_mk2000-online.de] > > wie kann ich mit php eine zip-datei erstellen, die eine ganz bestimmte > datei enthält, die vorher anhand von benutzer-eingaben generiert wurde? > Das Problem ist, dass du zum Packen mit zip mindestens eine Temporäre Datei Brauchst. Du kannst nicht die Eingaben an das zip-Kommando per STDIN senden und die Ausgabe über STDOUT abholen ... leider... Bei mir tut in etwa: header ("Content-type: applicaton/x-mathias_gloss"); header ('Content-Disposition: attachment; filename=' . $h_ueb['FileName'] ); header( "Content-Description: Automatic Generated Data" ); $s_zipcommand = '/usr/local/bin/zip -j -n .jpg - ' . $s_tempfilename_h; $fp = popen( $s_zipcommand, 'r'); while ( $s_zipout = fread($fp, 1024) ) { echo $s_zipout; } Der Schnippsel macht folgendes: -j weis ich nicht mehr ;-) -n .jpg : jpgs nicht komprimieren - nach STDOUT schreiben, Datei in $s_tempfilename_h einpacken Du musst natürlich vorher noch den entsprechenden Content-Type setzen, den ich ziemlich verbogen habe, damit der IE die Datei nicht immer öffnen will. Wenn du das Script noch in etwa so aufrufst: script.php/parameter1/parameter2/parameter3/parameter4/download.zip Dann wollen IE und NS es unter dem Namen download.zip speichern. Das da parameter1/parameter2/parameter3/parameter4/download.zip findest du in getenv('PATH_INFO') Viele Grüße, Mathias
php::bar PHP Wiki - Listenarchive