Hallo,
ich habe aus der php-faq nachfolgendes Script an meine Bedürfnisse
angepasst, den Teil der für Speichern der Downloads zuständig ist habe
ich nicht geposted:
<?
// $download sei der Bezeichner für die zu ladende Datei
// etwa:
$download = $_GET['download'];
// Dieses Verzeichnis liegt außerhalb des Document Root und
// ist nicht per URL erreichbar.
$basedir = "/home/www/..../download";
// Übersetzung von Download-Bezeichner in Dateinamen.
$filelist = array(
"file1" => "datei1.pdf ",
"file2" => "datei2.pdf ",
"file3" => "datei3.pdf ",
"file4" => "datei4.pdf ",
"file5" => "datei5.pdf ",
"file6" => "datei6.pdf ",
"file7" => "datei7.pdf ",
"file8" => "datei8.pdf ",
"file9" => "datei9.pdf "
);
// Einbruchsversuc h abfangen.
if (!isset($fileli st[$download]))
die("Datei $download nicht vorhanden.");
// Vertrauenswürdi gen Dateinamen basteln.
$filename = sprintf("%s/%s", $basedir, $filelist[$download]);
#$filename=$fil elist[$download];
// Passenden Datentyp erzeugen.
if (preg_match('#O pera(/| )([0-9].[0-9]{1,2})#',
getenv('HTTP_US ER_AGENT')) or preg_match('#MS IE ([0-9].[0-9]{1,2})#',
getenv('HTTP_US ER_AGENT'))) {
header("Content-Type: application/octetstream");
} else {
header("Content-Type: application/octet-stream");
}
// Passenden Dateinamen im Download-Requester vorgeben,
// z. B. den Original-Dateinamen
$save_as_name = basename($filel ist[$download]);
header("Content-Disposition: attachment; filename=\"$sav e_as_name\"");
// Datei ausgeben.
readfile($filen ame);
?>
Alles klappt solange meine Firewall (Norton2005) nicht aktiv ist.
Sobald ich diese aktiviere werden die PDF's vom AcrobatReader als
"beschädigt " abgelehnt.
Hat jemand diese Erfahrung auch gemacht und eine Lösung gefunden?