Moin,
ich hab mal ne Frage bezüglich Pfaden von Dateien:
Ich speichere in einer MySQL-Tabelle den Pfad zur Datei ab.
Nun lese ich per ID den Eintrag aus und möchte nun die Datei anzeigen lassen.
Sollte es eine ZIP-Datei sein ---> downloaded er
Sollte es ein Bild sein ---> zeigt er an
Nur leider funktioniert das nicht so ganz!
Lokal macht er es, aber auf'm Server bietet er mir bei Bildern (hab's bis jetzt nur an JPGs testen können) die download.php zum Download an (natürlich nur als HTML-Version).
Woran kann das liegen?
Woran liegt das?
Vielen Dank
ich hab mal ne Frage bezüglich Pfaden von Dateien:
Ich speichere in einer MySQL-Tabelle den Pfad zur Datei ab.
Nun lese ich per ID den Eintrag aus und möchte nun die Datei anzeigen lassen.
Sollte es eine ZIP-Datei sein ---> downloaded er
Sollte es ein Bild sein ---> zeigt er an
Nur leider funktioniert das nicht so ganz!
Lokal macht er es, aber auf'm Server bietet er mir bei Bildern (hab's bis jetzt nur an JPGs testen können) die download.php zum Download an (natürlich nur als HTML-Version).
Woran kann das liegen?
PHP-Code:
function get_file($file){
if (!is_file($file)) { die("<b>404 File not found!</b>"); }
$len = filesize($file);
$filename = basename($file);
$file_extension = strtolower(substr(strrchr($filename,"."),1));
switch( $file_extension ) {
case "pdf": $ctype="application/pdf"; break;
case "exe": $ctype="application/octet-stream"; break;
case "zip": $ctype="application/zip"; break;
case "doc": $ctype="application/msword"; break;
case "xls": $ctype="application/vnd.ms-excel"; break;
case "ppt": $ctype="application/vnd.ms-powerpoint"; break;
case "gif": $ctype="image/gif"; break;
case "png": $ctype="image/png"; break;
case "jpeg":
case "jpg": $ctype="image/jpg"; break;
case "mp3": $ctype="audio/mpeg"; break;
case "wav": $ctype="audio/x-wav"; break;
case "mpeg":
case "mpg":
case "mpe": $ctype="video/mpeg"; break;
case "mov": $ctype="video/quicktime"; break;
case "avi": $ctype="video/x-msvideo"; break;
case "htm":
case "html": $ctype="text/html"; break;
case "txt": $ctype="text/plain"; break;
case "php": die("<b>Cannot be used for ". $file_extension ." files!</b>"); break;
default: $ctype="application/force-download";
}
header("Content-Type: $ctype");
@readfile($file);
exit;
}
Vielen Dank
Kommentar