보안 목적으로 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 ($offset > 0) { 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);
이 스크립트는 먼저 부분 콘텐츠 요청이 이루어졌는지 확인합니다. 그렇다면 Range 헤더에서 범위를 구문 분석하고 파일에서 적절한 오프셋을 찾아 요청된 바이트 범위를 보냅니다. 또한 스크립트는 Accept-Ranges 헤더를 바이트로 설정하고 필요한 경우 부분 콘텐츠에 대한 적절한 HTTP 상태 코드를 보냅니다.
이러한 조치를 구현하면 PHP 파일 전송 스크립트를 사용하여 재개 가능한 다운로드가 지원되어 강력한 솔루션을 제공할 수 있습니다. 중단 후에도 재개할 수 있는 파일 전송을 위해.
위 내용은 내 PHP 파일 전송 스크립트에서 재개 가능한 다운로드를 활성화하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!