PHP Zip

Raven280438

Erfahrenes Mitglied
Hi,

ich möchte mit PHP eine zip-Datei aus mehreren anderen Dateien erstellen und dann mittels
PHP:
header("Content-Disposition: attachment; filename=\"archive.zip\"");
den Download-Dialog öffnen.

Wie man zip-Dateien mit PHP erstellt weis ich, aber wie kann ich das zip-Archive dann an den Browser schicken, ohne die Datei auf dem Server zu speichern?


Gruß
 
Das ganze läuft für gewöhnlich so.
PHP:
header("Content-Disposition: attachment; filename=\"archive.zip\"");
print $zipdata;

Falls nicht funktioniert zeig doch mal wie die zip datei erstellt wird...
 
Hi,

mit folgendem (gekürzten) Code erstelle in das Zip-Archive:
PHP:
$zip = new ZipArchive();
$zip->open("test.zip", ZIPARCHIVE::CREATE);
$zip->addFromString($fname1, $content1);
$zip->addFromString($fname2, $content2);
$zip->addFromString($fname3, $content3);
$zip->close();

Damit wird aber das Archive im Skript-Verzeichnis auf dem Server gespeichert. Das will ich nicht, das Archive soll in den Buffer gelesen werden und an dem Browser geschickt werden.

Bei der PDF-Lib gibts z.B. die Funktion
PHP:
$data = pdf_get_buffer($pdf);
echo $data;
womit die erstellte PDF nicht zwischengespeichert wurde.
Sowas in der Art suche ich für zip ;)


Gruß
 
Ich hab mir mal die Funktionen der Klasse angesehen...
Habe auch nicht so recht was gefunden...
Ist die Anzahl an unterschiedlichen Varianten an Zipdateien so groß, das sie nicht gespeichert werden könne (fehlende Speicherresourcen)...
Ansonsten würde ich sagen 1mal generieren speichern und von da an nur ne datenbank abfrage...
Ist auch besser für die Serverauslastung...
 
Zurück