
Wenn PHP eine Datei an den Browser senden soll (z.B. eine mit
readfile() ausgelesene Datei) muss man im HTTP-Header den richtigen
Content-Type angeben. Damit wird zwar erkannt, dass es sich z.B. um eine ZIP-Datei handelt, aber wenn die "Speichern unter"-Box beim Browser erscheint, ist dort immer noch der Name der PHP-Datei angegeben. Dies ist ein recht unbedeutender Nachteil, lässt sich aber verhindern. Und zwar mit dem richtigen Header, welcher wie folgt lauten muss:
Content-disposition: filename=dateiname
Content-type: MIME-Type
Pragma: no-cache
Expires: 0
|
|
|
|
Ein PHP-Script, welches immer das aktuelle Backup ausliest könnte dann so aussehen:
<?php
header("Content-disposition: filename=backup.zip");
header("Content-type: application/x-zip-compressed");
header("Pragma: no-cache");
header("Expires: 0");
$datum = date("Ymd");
readfile("../backups/$datum.zip");
?>
|
|
|
|