phpbar.de logo

Mailinglisten-Archive

[php] Download aus nicht-Web-Verzeichnissen

[php] Download aus nicht-Web-Verzeichnissen

Michael Renner michael.renner_(at)_tuebingen.mpg.de
Fri, 14 Apr 2000 12:57:16 +0200


On Fri, 14 Apr 2000, Jens-Peter Wilde wrote:
> Hallo Michael,
>
> >fopen()
> Hab ich nicht dran gedacht. <*brett vorm Kopf*>
> 
> Die Frage ist bloß, wie leite ich hier weiter? 
> Muß ein Header ausgegeben werden und dann

Packe das ganze Zeug doch in ein Archiv und
echo'e das. Ich habe etwas ähnliches: Aus einer
Liste von Bildern werden die interessanten
ausgewählt. Das geht per POST an ein Script,
das die gewählten pic's packt, einen
Header schickt und das binäre Archiv per
echo ausgibt. Hier ein Ausschnitt:

if ($archivformat == "tgz") {
   # Wir packen ein tgz
   $archivfile = "user_pics/$file_part.tgz";
   Header("Content-type: application/x-tar");
   header( "Content-Disposition: attachment; filename=$file_part.tgz" );
   header( "Content-Description: PHP3 Generated Data" );   
   #echo "<PRE>";
      passthru("/bin/tar cfz $archivfile $bildliste > $umleitung");
   #echo "</PRE>";   	
   };

Du siehst die Header. Dann wird 'tar' aufgerufen. Die Datei
$archivfile wird erzeugt, indem die in $bildliste enthaltenen
Dateien gepackt werden. $umleitung ist "/dev/null" im Normalfall.
# Nun die Datei öffnen und zum Browser printen
        $rfile = "$archivfile";
        $rf = fopen("$rfile", "r");
        $archiv_daten = fread($rf, filesize( $rfile ));
	fclose($rf);
        echo $archiv_daten;   
Falls der Browser nun weiss, dass application/x-tar zu speichern
ist öffnet sich eine Dialogbox, die fordert, die Datei file_part.tgz
auf Platte zu sichern.

CU
-- 
+---------------------------------------------------------+
|Michael Renner                   |                       |
|MPI fuer biologische Kybernetik  |Phone: +49-7071-601-638|
|Spemannstr.38, D-72076 Tuebingen |FAX:   +49-7071-601-616|
|michael.renner_(at)_tuebingen.mpg.de  |                       |
+----------------------------------------------------ESC:wq







php::bar PHP Wiki   -   Listenarchive