Hallo!
Ich glaube, dass ich eine Lösung gefunden habe *stolz bin*
Das Skript ist unter [1] zu finden.
Und so sieht es aus:
// $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.
//Mein Root-Verzeichnis heißt c:/apache/htdocs/ und die Datei ist bei mir oberhalb des Root-Verzeichnisses gespeichert. Also so:
$basedir = "c:/apache";
// Übersetzung von Download-Bezeichner in Dateinamen.
$filelist = array(
$_GET['download'] => $download );
// Einbruchsversuch abfangen.
if (!isset($filelist[$download]))
die("Datei $download nicht vorhanden.");
// Vertrauenswürdigen Dateinamen basteln.
$filename = sprintf("%s/%s", $basedir, $filelist[$download]);
// Passenden Datentyp erzeugen.
//header("Content-Type: application/octet-stream");
header("Content-type: application/force_download");
// Passenden Dateinamen im Download-Requester vorgeben,
// z. B. den Original-Dateinamen
$save_as_name = basename($filelist[$download]);
header("Content-Disposition: attachment; filename="$save_as_name"");
// Datei ausgeben.
readfile($filename);
Meine letzte Frage lautet jetzt nur: Kann der Anwender irgendwo her sehen, wo diese Datei herkommt?
Danke für die ganze Hilfe!!!!!
[1] http://www.dclp-faq.de/q/q-datei-download.html