DeletedUser
Gast
Moin
Ich habe ein Problem. Und zwar habe ich ein Download-System und wenn man auf Download klickt, wird einem im Datei speichern-Fenster keine Dateigrösse angezeigt.
Der Code dazu ist folgender:
Die selben Header habe ich beim lokalen Script auch und dort funktioniert es. Dort lese ich jedoch die Dateigrösse aus der DB aus und hole nicht die Werte vom Dateisystem.
Das Problem ist ja, dass die Browser den Content-Length-Header ignorieren. Jedenfalls wird in Firebug im Antwort-Header kein Content-Length angezeigt.
Wenn ihr's testen wollt, hier nen Link: edit: Link entfernt!
Ihr könnts natürlich mit jedem Download versuchen - ihr müsst einfach ?ignore=1 an die URL anhängen, da ihr ansonsten den Counter sinnlos hochtreibt. Die Kiddies werden dies natürlich tun. Aber Gäste haben ein Limit von 5 Downloads pro Tag.
Hat irgendjemand nen Rat dazu?
Freundliche Grüsse
FalkenaugeMihawk
Ich habe ein Problem. Und zwar habe ich ein Download-System und wenn man auf Download klickt, wird einem im Datei speichern-Fenster keine Dateigrösse angezeigt.
Der Code dazu ist folgender:
PHP:
<?php
if(!strpos($filename, "http")) {
$fileurl = IN_DIR."/fansubs/Final/".$filename;
if(!file_exists($fileurl)) {
die(redirect($rcms->settings['homeurl']."ddl-".$row['short'], "Der Download konnte nicht gestartet werden. Bitte wende dich an den Administrator."));
}
$filesize = filesize($fileurl);
} else {
$fileurl = $filename;
$head = array_change_key_case(get_headers($fileurl, TRUE));
$filesize = (int) $head['content-length'];
}
header("Content-Type: video/mp4");
header("Content-Length: ".$filesize);
header("Content-Disposition: attachment; filename=".$filename);
$handle = fopen($fileurl, 'rb');
$buffer = '';
while(!feof($handle)) {
$buffer = fread($handle, 4096);
echo $buffer;
ob_flush();
flush();
}
fclose($handle);
Die selben Header habe ich beim lokalen Script auch und dort funktioniert es. Dort lese ich jedoch die Dateigrösse aus der DB aus und hole nicht die Werte vom Dateisystem.
Das Problem ist ja, dass die Browser den Content-Length-Header ignorieren. Jedenfalls wird in Firebug im Antwort-Header kein Content-Length angezeigt.
Wenn ihr's testen wollt, hier nen Link: edit: Link entfernt!
Ihr könnts natürlich mit jedem Download versuchen - ihr müsst einfach ?ignore=1 an die URL anhängen, da ihr ansonsten den Counter sinnlos hochtreibt. Die Kiddies werden dies natürlich tun. Aber Gäste haben ein Limit von 5 Downloads pro Tag.
Hat irgendjemand nen Rat dazu?
Freundliche Grüsse
FalkenaugeMihawk
Zuletzt bearbeitet von einem Moderator: