Der Martin: Download nur nach Besuch der eigenen Website erlauben

Beitrag lesen

Hallo,

header('Content-Disposition: attachment;filename=datei.zip');
echo file_get_contents('pfad/zu/datei.zip');

Darauf wär ich nie gekommen. Die Kombination von header und echo file_get_contents(...) ... das muss ich mir nochmal in Ruhe anschauen, was da im Einzelnen passiert.

ja, das solltest du tun. :-)
Und vielleicht stellst du dann fest, dass die Sequenz

header('Content-Disposition: attachment;filename=datei.zip');
  readfile('pfad/zu/datei.zip');

das gleiche leistet, aber noch einfacher aussieht und noch dazu Speicher spart. Denn während die Variante von Dennis erst den gesamten Dateiinhalt in den Arbeitsspeicher lädt (und bei großen Dateien vielleicht daran scheitert, weil PHP z.B. nur 8MB insgesamt bekommt), wird bei readfile() dieser Dateiinhalt einfach nur durchgereicht, ohne ihn zwischenzuspeichern.

Schönen Abend noch,
 Martin

--
Computer lösen für uns Probleme, die wir ohne sie gar nicht hätten.