Unterstützung fortsetzbarer Downloads mit PHP-Skripting
Frage:
Bei Verwendung eines PHP-Skripts zum Senden herunterladbarer Dateien , Downloads können von Endbenutzern nicht fortgesetzt werden. Wie können fortsetzbare Downloads mit einer solchen Lösung unterstützt werden?
Antwort:
Um fortsetzbare Downloads zu aktivieren, befolgen Sie diese Schritte:
Senden Sie die Accept-Ranges: Bytes Header:
Bereichsheader behandeln:
Teilinhaltsheader festlegen:
Wenn die Anfrage einen Teilinhalt betrifft (Range-Header ist vorhanden), legen Sie Folgendes fest Header:
Senden Sie die Datei Daten:
Hier ist ein Beispiel-PHP-Code, der die Implementierung demonstriert Teilinhalts-Downloads:
$filesize = filesize($file); $offset = 0; $length = $filesize; if (isset($_SERVER['HTTP_RANGE'])) { preg_match('/bytes=(\d+)-(\d+)?/', $_SERVER['HTTP_RANGE'], $matches); $offset = intval($matches[1]); $length = intval($matches[2]) - $offset; } $file = fopen($file, 'r'); fseek($file, $offset); $data = fread($file, $length); fclose($file); if ($offset > 0) { header('HTTP/1.1 206 Partial Content'); header('Content-Range: bytes ' . $offset . '-' . ($offset + $length) . '/' . $filesize); } header('Content-Type: ' . $ctype); header('Content-Length: ' . $length); header('Content-Disposition: attachment; filename="' . $fileName . '"'); header('Accept-Ranges: bytes'); print($data);
Dieser Code legt die entsprechenden Header fest und antwortet mit den angeforderten Dateidaten und unterstützt so die Fortsetzung Downloads.
Das obige ist der detaillierte Inhalt vonWie kann ich fortsetzbare Downloads mit einem PHP-Skript aktivieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!