Petra: Zipen und senden ohne Temp. Datei

Beitrag lesen

  
<?php  
  
/*  
Hallo allerseits,  
gibt es eine Moeglichkeit, in diesem kurzen Beispiel auf die Tenp.  
Datei zu verzichten? In dem Beispiel. das auf einen WWW-Server laufen  
muss, zipt diese Script sich selbst und sendet das Zipergebnis zum  
Browser.  
Die Frage ist nicht akademisch. Ich möchte mit der Methode grosse  
Datenmengen versehnden und hoffe ohn Temp. Datei auf einge Vorteile  
(ueberschreiten vom Limits durch den Provider, Suche nach dem echten  
Temp. Verzeichnis).  
  
*/  
  
// Variablen  
$zip = new ZipArchive();                    // Objekt  
$temp_zip_file = tempnam ('.', 'temp_zip'); // temp. Zip-Archiv  
$file_to_zip = __FILE__;                    // Datei die gezipt wird  
  
// Zipfile anlegen  
$zip->open($temp_zip_file, ZIPARCHIVE::CREATE);  
$zip->addFile( $file_to_zip, basename($file_to_zip) );  
$zip->close();  
  
// Header vorbereiten damit der Browser weiss was zu tun ist.  
header('Content-type: application/zip');  
header('Content-Disposition: filename="Sicherung_vom_Server.zip"');  
  
// Zip-Datei senden  
readfile($temp_zip_file);  
  
// Temp-Datei loeschen  
unlink($temp_zip_file);  
  
?>