Dateidownload: Dateiname anzeigen
Dieter
- php
Hallo,
also ich habe einen kleinen Dateidownload programmiert:
<?php
$mime_type = "application/octet-stream";
$att = "attachment; ";
$datei_name = "bsp.txt";
$filename = "ordner/bsp.txt";
ob_start();
header("Cache-control: private");
header("Content-type: $mime_type");
header("Content-Disposition: ".$att."filename=\"$datei_name\"");
header("Content-Length: ".filesize($filename));
header("Pragma: no-cache");
header("Expires: 0");
readfile($filename);
ob_end_flush();
?>
Wenn ich diesen Script aber aufrufe, erhalte ich zwar das Download-Fenster (MSIE), allerdings steht dann als zu herrunterladende Datei, immer die URL zu dem Script.
Kann ich das irgendwie ändern?
P.S. PHP-Manual hat mich auch nicht weiter gebracht.
MFG
Lieber Dieter,
ich sehe in Deinem Script keinen Hinweis auf die Ursache mit dem IE-Problem.
Wie gestaltet sich denn der Download mit einem anderen Browser (der IE ist ja nun nicht das Maß der Dinge!)?
Ich habe eine sehr ähnliche Lösung, wie Du. Allerdings musste ich etwas ändern, damit auch Dateien über 8MB Größe downloadbar sind, denn PHP hat ja nicht unendlich Speicher zur Verfügung:
function datei_downloaden($dateiname)
{
$filename = substr($dateiname, strrpos($dateiname, "/")+1);
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"$filename\"");
header("Content-Length: ".filesize($dateiname));
$ausgabe = fopen($dateiname, "r+");
while(!feof($ausgabe))
{
print(fread($ausgabe, 4096));
flush();
}
}
Vielleicht hilft Dir das...
Liebe Grüße aus Ellwangen,
Felix Riesterer.