Mit PHP Downloadgeschwindigkeit beschränken
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
beispiel
blocken
code
cool danke
datei
ersichtlich url
file
glauben
header
info
information
kirche
laufen
minute
modul
nutz
saugen
schicken entsprechend lange warten
sekunde
url
-
Hi,
wie kann ich mit PHP die Downloadgeschwindigkeit einer Datei beschränken?
LG
PS: ich bitte um hilfreiche Antoworten, da ich über Google bisher nichts gefunden habe... -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
mbpictures schrieb:
Hi,
wie kann ich mit PHP die Downloadgeschwindigkeit einer Datei beschränken?
LG
PS: ich bitte um hilfreiche Antoworten, da ich über Google bisher nichts gefunden habe...
ich glaube das geht über PHP nicht.. wollte selbst mal sowas machen geht irgendwie nur über ein Apache Modul aber auch nur bei linux.. Gib mal nähere Informationen über die Lage, hast du einen eigenen Server oder Webspace (wie zum beispiel hier in Lima City) -
Danke für die Antwort endlich mal jemand der bereit ist zu helfen...
Also ich nutze Webspace (lima-city, kilu.de usw)...
Ich möchte ein solche Beschränkung wie zB von Filhostern (uploaded.net...). -
mineplanet schrieb:
Glauben → Kirche
ich glaube das geht über PHP nicht.
Natürlich funktioniert das auch mit PHP, aber dazu muss die
gorß genug sein…max_execution_time
Vorgehensweise:
Einen Block der Datei lesen und an den Client schicken
entsprechend lange warten, damit der Client nicht zu schnell saugen kann. -
hackyourlife schrieb:
mineplanet schrieb:
ich glaube das geht über PHP nicht.
Vorgehensweise:
Einen Block der Datei lesen und an den Client schicken
entsprechend lange warten, damit der Client nicht zu schnell saugen kann.
Cool Danke!
Und wie sieht das dann im Script aus? Bzw hast du mal ein Beispiel?
-
mbpictures schrieb:
Das Script dazu sieht so aus:
Cool Danke!
Und wie sieht das dann im Script aus? Bzw hast du mal ein Beispiel?<?php $blockspersecond = 100; // 100kB / s $file = 'pyrrhic_victory_orch.ogg'; $f = @fopen($file, 'rb'); if(!$f) die('error'); header('content-type: application/octet-stream'); $t = time(); $b = 0; while(!feof($f)) { echo(fread($f, 1024)); $b++; if($b < $blockspersecond) continue; $b = 0; $t2 = time(); $d = 1000 - ($t2 - $t); $d *= 1000; if($d > 0) usleep($d); $t = $t2; } fclose($f);
Wichtig ist dabei aber, dass die
groß genug ist, damit das Script auch lange genug laufen kann.max_execution_time
-
Cool vielen Dank!!!
Du hast mir sehr geholfen!
PS: was meinst du mit groß genug? Wie bzw was groß genug? -
mbpictures schrieb:
PS: was meinst du mit groß genug? Wie bzw was groß genug?
DIe max_execution_time gibt an, wie lange ein PHP-Skript laufen darf, und ist in der PHP-Info ersichtlich (http://system.lima-city.de/info.php). Wenn jetzt dein Skript, das den verlangsamten Download ermöglichen soll, 3 Minuten laufen würde, die max_execution_time beträgt 30 Sekunden, dann funktioniert das nicht so, wie du willst, weil das Skript einfach nach 30 Sekunden abgebrochen wird, egal ob der Download fertig ist, oder nicht. -
Ah ok Vielen Dank für Eure Hilfe!!!!
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage