phpbar.de logo

Mailinglisten-Archive

[php] AW: [php] zip-datei erstellen

[php] AW: [php] zip-datei erstellen

Gloss Mathias Mathias.Gloss_(at)_start.de
Fri, 16 Feb 2001 12:26:10 +0100


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