Wie zu erkennen, wenn sich ein Benutzer erfolgreich abgeschlossen herunterladen einer Datei in php
Ich habe eine php-Seite, die Griffe requets für Datei-downloads. Ich muss in der Lage sein zu erkennen, wenn eine Datei erfolgreich heruntergeladen wurde. Wie kann das getan werden? Vielleicht gibt es einige Mittel zum erkennen dieser client-Seite dann das senden einer Bestätigung nach unten an den server.
Dank.
Bearbeiten:
Durch den Griff, ich meine, dass die Seite ist sowas:
$file = '/var/www/html/file-to-download.xyz';
header('Content-Type: application/octet-stream');
header('Content-Length: ' . filesize($file));
header('Content-Disposition: attachment; filename=' . basename($file));
readfile($file);
InformationsquelleAutor sledgebox | 2008-10-11
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Griff der download in ein separates php-Skript (besser ein wenig mehr tun, als nur
readfile($file);
Sie können auch die Möglichkeit bieten, downloads fortsetzen, wie in diesem Frage).Dann dieses Skript, wenn Sie Lesen der Letzte block aus und senden Sie es, Sie wissen, dass alle die Datei gesendet wurde. Dies ist nicht das gleiche wie zu wissen, dass alle empfangen wurde, aber es sollte genug für die meisten Szenarien.
Was Treb gesagt, aber ich sollte hinzufügen, dass Sie können überprüfen, ob der client noch anhören, während der download mit connection_status().
Vergessen Sie nicht
flush()
nachdem Sie geschrieben habe, Daten an den client, es hilft bei der Erkennung, wenn die Verbindung noch aktuell ist.