Ist es in PHP möglich, die Anzahl der an den Client übertragenen Bytes zu zählen? Wenn ich zum Beispiel eine 10-MB-Datei ausspreche, gibt es eine Möglichkeit herauszufinden, ob alle 10 MB an den Client gesendet wurden, oder um zu sehen, ob der Client die Übertragung unterbrochen hat? Ich weiß, Apache wird dies später protokollieren, aber ich möchte auf die Daten in PHP zugreifen.PHP - bestimmen, wie viele Bytes über http gesendet
6
A
Antwort
13
Schauen Sie sich die Funktionen ignore_user_abort
und connection_abort
an.
11
Hier ist, was ich am Ende tun (dank Gumbo):
ignore_user_abort(true);
$handle = fopen($file_path, 'r');
while (! feof($handle)) {
echo fread($handle, 4096);
if (connection_aborted()) {
$transfer_success = false;
$bytes_transferred = ftell($handle);
break;
}
}
fclose($handle);
Verwandte Themen
- 1. Wie viele Bytes können im ersten TCP-Fenster gesendet werden?
- 2. Wie viele Bytes pro Inodes?
- 3. Wie viele Daten können über $ _GET gesendet werden
- 4. Anzahl der Bytes in ByteBuffer bestimmen
- 5. Mindestens garantierte Bytes, die auf einmal über NetworkStream gesendet werden
- 6. Bestimmen von Terminalzeilen/Spalten über PHP CLI
- 7. Wie viele Bytes hat eine Zeichenfolge?
- 8. Wie viele Bytes nimmt eine Zeichenfolge auf?
- 9. Wie viele Bytes ein Null-Objekt?
- 10. Werden Informationen über eine HTTP-Localhost-Verbindung gesendet?
- 11. php ZMQ Push-Integration über http
- 12. Nur wenige HTTP-Header für die Anfrage über Java gesendet
- 13. PHP Fix Bild Bytes
- 14. PHP: Get http Statuscode, der Skript über die Shutdown-Funktion gerade gesendet
- 15. Wie wird '&' im HTTP-Anfragetext gesendet?
- 16. PHP - Zugang Json Daten von Matlab über Webwrite Funktion gesendet
- 17. Wie bekomme ich Daten von XML, die über http-Post an mein Skript gesendet werden?
- 18. Wie viele gleichzeitige http Anfrage sollte ich senden?
- 19. Wie wird der Wagenrücklauf über Telnet gesendet?
- 20. Wie viele PHP-Includes sind zu viele?
- 21. Wann soll der HTTP-Statuscode gesendet werden?
- 22. Java UDP Multicast, bestimmen, welche Gruppe gesendet Paket
- 23. Wie finden Sie, wie viele Bytes in Swift NSURLSession lesen?
- 24. Wie kann ich wissen, dass viele Nachrichten gesendet/empfangen wurden?
- 25. Bilddateigröße php bestimmen
- 26. Cookie nicht über SSL gesendet
- 27. PHPMailer Mail nicht gesendet => Viele Fehler
- 28. ifstream :: read sagt nicht, wie viele Bytes es wirklich liest?
- 29. Wie viele Bytes hat eine Zeichenfolge in utf-8?
- 30. Wie kann man die Anzahl der Bits, Bytes und Speicherzellen bestimmen?
Sie eine progressbar oder so etwas machen? – Natrium
Ich wollte nur Dateien als vollständig heruntergeladen markieren, dann entfernen Sie sie aus einer Liste. das Problem war file_get_contents(), es fängt die Benutzerunterbrechung nicht auf. Wenn Sie fread() und loop through verwenden, können Sie es abfangen und dann mit ftell() herausfinden, wie viele Bytes ungefähr gesendet wurden. (Entschuldigung für das Posten der Frage, als ich es selbst herausgefunden habe) – Jay