PHP 스크립팅으로 재개 가능한 다운로드 지원
질문:
PHP 스크립트를 사용하여 다운로드 가능한 파일을 보내는 경우 , 최종 사용자는 다운로드를 재개할 수 없습니다. 이러한 솔루션으로 어떻게 재개 가능한 다운로드를 지원할 수 있습니까?
답변:
재개 가능한 다운로드를 활성화하려면 다음 단계를 따르십시오.
Accept-Ranges 보내기: 바이트 헤더:
범위 헤더 처리:
부분 콘텐츠 헤더 설정:
요청이 부분 콘텐츠에 대한 것인 경우 (Range 헤더가 있음), 다음 헤더를 설정하십시오:
파일 데이터 보내기:
다음은 부분 콘텐츠 다운로드를 구현하는 방법을 보여주는 샘플 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 ($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);
이 코드는 적절한 헤더를 설정하고 요청된 파일 데이터, 재개 가능한 다운로드를 지원합니다.
위 내용은 PHP 스크립트로 재개 가능한 다운로드를 활성화하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!