Beim Senden großer Dateien an Empfänger über PHP-Skripte kann die Integrität der Übertragung ein Problem darstellen. Um dies zu beheben, stellt PHP Methoden wie http_send_file und http_send_data bereit, deren Wirksamkeit in bestimmten Szenarien jedoch ungewiss bleibt.
Eine überlegene Lösung: Dateien aufteilen
Die effizienteste und Ein unkomplizierter Ansatz in PHP besteht darin, die Dateien in Blöcke aufzuteilen. Dieser Prozess unterteilt die Datei in kleinere Segmente und gewährleistet so einen konsistenten und zuverlässigen Download-Prozess. Der folgende Code veranschaulicht diese Methode:
$chunksize = 5 * (1024 * 1024); //5 MB per chunk $handle = fopen($filename, 'rb'); while (!feof($handle)) { print(@fread($handle, $chunksize)); ob_flush(); flush(); } fclose($handle);
Durch die Segmentierung der Datei vermeidet PHP eine Überlastung des Speichers und ermöglicht eine reibungslosere Übertragung auch bei großen Dateien über 2 GB. Es ist jedoch wichtig, sicherzustellen, dass die Datei in UTF-8 kodiert ist, um eine Beschädigung der Datei während des Downloads zu verhindern.
Das obige ist der detaillierte Inhalt vonWie stellt man in PHP zuverlässige Downloads großer Dateien sicher?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!