Es kommt halt aufs System an, ob das benötigt wird...
Was du bitte noch umändern solltest:
PHP-Code:
$contents = fread ($handle, filesize ($filename));
mit
PHP-Code:
if(filesize($filename) > 0 ){
$contents = fread ($handle, filesize ($filename));
}
ersetzten!
Wenn nämlich die Datei leer ist, bringt fread einen Fehler, wenn es trotzdem ausgeführt wird.
Und dann kannst du das Script auch so einrichten, dass die Dateien, die gedownloaded werden sollen, in einem Unterverzeichniss liegen.
Dazu in der Zeile
PHP-Code:
$filename = "" . $_GET['file'];
zwischen den "" den Unterordner in der Form "Ordnername/" einfügen.
Es geht natürlich auch "Ordnername/Unterordner/" ...
Dann musst du dir noch gedanken über die Sicherheit machen.
Mit dem Script kann der User jeden beliebigen Dateinamen eintragen und somit auch jede Datei in dem Ordner downloaden. Einschließlich eventueller .htaccess Dateien.
Hast du keinen Unterordner definiert könnte er sogar durch eingabe von "download.php$file=../datei" auf den Ordner eine Ebene höher zugreifen.
Zitat:
[...]aber im xampp zeigt es wieder alle inhalte der ordner wenn keine index.php(html) drin ist!
|
Das lässt sich mit .htaccess Dateien regeln:
http://de.selfhtml.org/servercgi/server/htaccess.htm
Artikel "Verzeichnis-Optionen einstellen"