Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: This feature may not be available in some browsers.
Woher sollten die Cockies wissen, wann der Download zuende ist?
// pseudo code$
max_downloads = 10
current = SELECT count(*) FROM active_downloads
if current >= 10
last_insert_id = INSERT INTO active_downloads (ip) (HTTP_CLIENT_IP)
input = open(file)
while(!eof(input))
print read(input)
DELETE FROM active_downloads WHERE id = last_insert_id
sollte wohl besser//...
if current >= 10
//...
//...
if current <= max_downloads
//...
Hier kannst du mittels ignore_user_abort() verhindern, dass das Script nach Client-Abbruch sofort beendet wird. Über connection_status() checkst du, ob ein Abbruch da is und handelst entsprechend, bevor du das Script dann beendest.Was in PHP passiert, wenn der Client den Download vorzeitig beendet, weis ich leider nicht, ich vermute aber das das Script Normal weiter läuft, eventuell tritt aber eine Exception beim Ausgeben der Daten aus (der Socket wurde ja geschlossen).
Hier kannst du mittels ignore_user_abort() verhindern, dass das Script nach Client-Abbruch sofort beendet wird. Über connection_status() checkst du, ob ein Abbruch da is und handelst entsprechend, bevor du das Script dann beendest.
brauchste nicht... standard mässig bricht das script ab wenn der user die verbindung trennt. Und mithilfe von register_shutdown() kannste auf den abbruch reagieren...
korrekt ... damit sind aber nur die downloads, die über eine bestimmte (php-)seite gestartet werde gezählt. wenn die leute jetzt das file direkt downloaden funktioniert der ganze spass nicht.
also wäre ein direkter zugriff darauf sehr unwahrscheinlich...
naja, du kannst dir nicht vorstellen, was leute alles versuchen, bis sie bekommen, was sie wollen ... oder eben nicht
Hier kannst du mittels ignore_user_abort() verhindern, dass das Script nach Client-Abbruch sofort beendet wird. Über connection_status() checkst du, ob ein Abbruch da is und handelst entsprechend, bevor du das Script dann beendest.
ZeroCCC schrieb:brauchste nicht... standard mässig bricht das script ab wenn der user die verbindung trennt. Und mithilfe von register_shutdown() kannste auf den abbruch reagieren...
if( !($fh = fopen( $secretFolderPath.$fileName, "r" )) )
downloadError( "Fehler beim Öffnen der Download-Datei." );
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header('Content-Description: File Transfer');
header('Content-Type: application/octed-stream');
header('Content-Length: '.@filesize($secretFolderPath.$fileName));
header("Content-Disposition: attachment; filename=".$fileName);
header("Content-Transfer-Encoding: binary");
while( true ) {
echo fgets($fh, 4096);
if( feof($fh) ) break;
if( connection_status()!=0 ) break;
}
fclose ($fh);
closeDownload();