Servus zusammen,
irgendwie läuft mein Download-Script noch nicht einwandfrei.
Bei den runtergeladenen Dateien scheint etwas am Ende nicht mitgesendet zu werden.
Wenn ich nämlich eine runtergeladene .rar öffne, kommt folgende Fehlermeldung: "Unerwartetes Archivende".
Wenn ich aber die Datei ohne dem Script, also per Pfadeingabe, lade, funktioniert alles.
Hier mein Script:
Würde mich sehr über Hilfe freuen. :-)
Mit freundlichen Grüßen
Chrono
irgendwie läuft mein Download-Script noch nicht einwandfrei.
Bei den runtergeladenen Dateien scheint etwas am Ende nicht mitgesendet zu werden.
Wenn ich nämlich eine runtergeladene .rar öffne, kommt folgende Fehlermeldung: "Unerwartetes Archivende".
Wenn ich aber die Datei ohne dem Script, also per Pfadeingabe, lade, funktioniert alles.
Hier mein Script:
PHP-Code:
$download_file = basename($local_file);
// set the download rate limit
$download_rate = 130.0; // (=> 100,0 kb/s)
if(file_exists($local_file) && is_file($local_file))
{
$extension = strtolower(substr(strrchr($local_file, "."), 1));
// Determine correct MIME type
switch($extension){
case "asf": $type = "video/x-ms-asf"; break;
case "avi": $type = "video/x-msvideo"; break;
case "exe": $type = "application/octet-stream"; break;
case "mov": $type = "video/quicktime"; break;
case "mp3": $type = "audio/mpeg"; break;
case "mpg": $type = "video/mpeg"; break;
case "mpeg": $type = "video/mpeg"; break;
case "rar": $type = "encoding/x-compress"; break;
case "txt": $type = "text/plain"; break;
case "wav": $type = "audio/wav"; break;
case "wma": $type = "audio/x-ms-wma"; break;
case "wmv": $type = "video/x-ms-wmv"; break;
case "zip": $type = "application/x-zip-compressed"; break;
default: $type = "application/force-download"; break;
}
header('Cache-control: private');
header('Content-Type: '.$type);
header('Content-Length: '.filesize($local_file));
header('Content-Disposition: attachment; filename='.$download_file);
flush();
$file = fopen($local_file, "rb");
while(!feof($file))
{
// send the current file part to the browser
print fread($file, round($download_rate * 1024));
// flush the content to the browser
ob_flush();
flush();
// sleep one second
sleep(1);
}
fclose($file);
}
Würde mich sehr über Hilfe freuen. :-)
Mit freundlichen Grüßen
Chrono
Kommentar