使用PHP 檔案隧道進行斷點續傳
使用PHP 串流檔案下載時,可能需要為使用者啟用斷點續傳下載。但是,預設的 PHP 腳本設定通常會阻止恢復下載。
要使用PHP 支援可恢復下載,請按照以下步驟操作:
實施這些步驟應該啟用PHP 檔案隧道設定中的可恢復下載。以下是示範流程的 PHP 程式碼範例:
$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 ($partialContent) { header('HTTP/1.1 206 Partial Content'); header('Content-Range: bytes ' . $offset . '-' . ($offset + $length) . '/' . $filesize); } header('Content-Type: ' . $ctype); header('Content-Length: ' . $filesize); header('Content-Disposition: attachment; filename="' . $fileName . '"'); header('Accept-Ranges: bytes'); print($data);
以上是如何在 PHP 檔案隧道中實現斷點續傳?的詳細內容。更多資訊請關注PHP中文網其他相關文章!