PHP-Download Script

Max-de

Grünschnabel
Hallo,

wie die Überschrift schon sagt geht es um ein kleines PHP Downloadscript, welches ich mir geschrieben habe um mein Downloadverzeichniss nicht öffentlich zugänglich zu machen. Nun habe ich aber ein Problem im Firefox damit, denn dort wird nicht wir im IE der Download-Dialog geöffnet sondern es wird eine leere Seite geladen bzw. die Download.php welche leer ist zum Download angeboten. ich habe schon lange im Netz gesucht und auch schon fertige Download.php Lösungen probiert, aber immer mit dem gleichen Ergebniss. Kann mir jemand helfen?

PHP:
<?php
/*
 * Der Ordner indem sich die Dateien befinden
 */
$download_dir = "./skripte/Download/";

/*
 * Den kompletten Pfad der Datei (+Dateiname) in $file speichern
 * Bsp.: download.php?f=script_2.pdf
 */
$file = $download_dir.$_GET['f'];

/*
 * Header-Einstellungen
 */
header('Content-Description: File Transfer');
header("Content-Type: x-type/subtype");
header("Content-Length: ".filesize($file));
header("Content-Disposition: attachment; filename=".$_GET['f']);

/*
 * Das "Speichern-Unter"-Fenster erscheinen lassen
 */
readfile($file);
?>
 
das hatte ich schon mal ausprobiert und eben habe ich es noch einmal gemacht leider hat es nicht gebracht. Im Firefox gibt es immernoch eine download.php die leer ist als Download während es im IE ohne Probleme geht.

Edit:
habe mal noch paar andere Browser getestet

Internet Explorer -> ok
Opera -> ok
Safari -> download.php
Firefox -> download.php
 
Zuletzt bearbeitet:
Du solltest noch eine Fehlerbehandlung und Sicherheitsmechanismen einbauen. Beispielsweise sollte erst geprüft werden, ob der Eingabewert valide ist, ob die angeforderte Datei existiert etc.
 
Zurück