Ich entwickle eine schnelle Rapidshare-ähnliche Website, wo der Benutzer Dateien herunterladen kann. Zuerst habe ich einen schnellen Test erstellt Header Einstellung und readfile()
verwenden, aber dann fand ich in the comments section es eine Möglichkeit, die Geschwindigkeit des Downloads zu begrenzen, das ist toll, hier ist der Code:PHP: Wie kann man wissen, ob ein Benutzer gerade eine Datei herunterlädt?
$local_file = 'file.zip';
$download_file = 'name.zip';
// set the download rate limit (=> 20,5 kb/s)
$download_rate = 20.5;
if(file_exists($local_file) && is_file($local_file))
{
header('Cache-control: private');
header('Content-Type: application/octet-stream');
header('Content-Length: '.filesize($local_file));
header('Content-Disposition: filename='.$download_file);
flush();
$file = fopen($local_file, "r");
while(!feof($file))
{
// send the current file part to the browser
print fread($file, round($download_rate * 1024));
// flush the content to the browser
flush();
// sleep one second
sleep(1);
}
fclose($file);}
else {
die('Error: The file '.$local_file.' does not exist!');
}
Aber jetzt meine Frage ist, wie um die Anzahl der Downloads gleichzeitig zu begrenzen? Wie kann ich überprüfen, ob noch eine Verbindung mit der IP eines Benutzers besteht?
Danke.
Bitte verwenden Sie keine schreienden 'KAUFKONTO FÜR SCHNELLER DOWNLOAD UND KEINE WARTEZEIT' Anzeigen. Ich bitte dich. –
Ich werde versuchen, etwas origineller zu kommen. – metrobalderas
thx [15 charzz] –