PHP - Dateien als Download anbieten
Um in PHP Dateien dem User als Download zur Verfügung zu stellen, muss der header des Scripts geändert werden:
Der Aufruf würde bspw. über die folgende URL erfolgen: http://www.domain.com/getfile.php?file=meindownload.zip
Für binäre Daten würde man dann folgenden Code verwenden:
<?php
if (isset($_GET["file"])) {
$file_name = $_GET["file"];
if (file_exists($file_name)) {
header(”Content-type: application/x-download”);
header(”Content-Disposition: attachment; filename=$file_name”);
header(”Content-Transfer-Encoding: binary”);
header(’Content-Length: ‘ . filesize($file_name));
ob_clean();
flush();
readfile($file_name);
}
}
?>Bei binären Daten ist es wichtig ob_clean() und flush() zu verwenden, da es sonst vorkommen kann, dass die Daten nicht korrekt übermittelt werden..

