원격 파일 크기 결정
원격 파일을 다운로드하지 않고 파일 크기를 가져오는 것은 특정 시나리오에서 유용한 최적화가 될 수 있습니다.
솔루션
응답에서 언급했듯이 HTTP HEAD 요청을 사용하는 것이 이 작업에 적합한 접근 방식입니다. HEAD 요청은 실제 본문을 가져오지 않고 리소스와 연결된 HTTP 헤더를 검색합니다.
구현
다음은 이를 활용하는 PHP 함수입니다. 방법:
function get_remote_file_size($url) { $curl = curl_init($url); curl_setopt($curl, CURLOPT_NOBODY, true); curl_setopt($curl, CURLOPT_HEADER, true); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); $data = curl_exec($curl); curl_close($curl); if ($data) { preg_match("/Content-Length: (\d+)/", $data, $matches); $content_length = $matches[1] ?? -1; return $content_length; } return -1; }
사용
이 기능을 사용하여 원격 파일의 크기를 결정할 수 있습니다:
$file_size = get_remote_file_size("http://my_url/my_file.txt");
참고: 이 방법은 HEAD 요청을 수락하고 올바른 Content-Length를 제공하는 서버에 의존합니다. 헤더.
위 내용은 원격 파일을 다운로드하지 않고 크기를 어떻게 알 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!