>  기사  >  백엔드 개발  >  cURL의 헤더 전용 검색을 사용하여 원격 파일의 마지막 수정 날짜를 효율적으로 검색하는 방법은 무엇입니까?

cURL의 헤더 전용 검색을 사용하여 원격 파일의 마지막 수정 날짜를 효율적으로 검색하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-16 02:51:03662검색

How to Efficiently Retrieve Last Modified Date of a Remote File using cURL's Header-Only Retrieval?

cURL을 통한 PHP의 헤더 전용 검색

마지막 수정 날짜와 같은 파일 메타데이터를 효율적으로 검색하려면 cURL 헤더 사용을 고려하세요. 유일한 검색 기능입니다. 이 방법을 사용하면 원격 서버의 처리 능력과 대역폭 소비를 크게 줄일 수 있습니다.

헤더만 검색하려면 cURL 요청에서 다음 옵션을 설정할 수 있습니다.

curl_setopt($curl, CURLOPT_HEADER, true);
curl_setopt($curl, CURLOPT_NOBODY, true);

이렇게 하면 cURL이 알려줍니다. 응답의 실제 본문을 생략하고 HTTP 헤더 정보만으로 응답하도록 서버에 지시하는 HEAD 요청을 보냅니다.

마지막 수정 날짜 검색

마지막으로 수정된 날짜를 얻으려면 컬_getinfo()를 사용하여 cURL 핸들에서 FILETIME 정보를 검색할 수 있습니다. 예는 다음과 같습니다.

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "http://url/file.xml");
curl_setopt($curl, CURLOPT_HEADER, true);
curl_setopt($curl, CURLOPT_FILETIME, true);
curl_setopt($curl, CURLOPT_NOBODY, true);
curl_exec($curl);
$filetime = curl_getinfo($curl, CURLINFO_FILETIME); // Returns timestamp of last modification
curl_close($curl);

샘플 코드

다음은 cURL을 사용하여 원격 파일의 마지막 수정 날짜를 검색하고 표시하는 보다 완전한 예입니다.

class URIInfo {
    public $info;
    public $header;
    private $url;

    public function __construct($url) {
        $this->url = $url;
        $this->setData();
    }

    public function setData() {
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, $this->url);
        curl_setopt($curl, CURLOPT_FILETIME, true);
        curl_setopt($curl, CURLOPT_NOBODY, true);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($curl, CURLOPT_HEADER, true);
        $this->header = curl_exec($curl);
        $this->info = curl_getinfo($curl);
        curl_close($curl);
    }

    public function getFiletime() {
        return $this->info['filetime'];
    }

    // Other functions can be added to retrieve other information.
}

$uri_info = new URIInfo('http://example.com/index.html');
$filetime = $uri_info->getFiletime();
if ($filetime != -1) {
    echo date('Y-m-d H:i:s', $filetime);
} else {
    echo 'Filetime not available';
}

위 내용은 cURL의 헤더 전용 검색을 사용하여 원격 파일의 마지막 수정 날짜를 효율적으로 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.