>  기사  >  백엔드 개발  >  PHP에서 컬을 사용하여 원격 파일의 마지막 수정 날짜를 어떻게 검색할 수 있습니까?

PHP에서 컬을 사용하여 원격 파일의 마지막 수정 날짜를 어떻게 검색할 수 있습니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-13 01:48:02211검색

How Can I Retrieve the Last Modified Date of a Remote File Using curl in PHP?

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

헤더 전용 검색으로 서버 부하 줄이기

PHP와 컬을 사용하여 웹 콘텐츠를 검색할 때 검색 여부를 지정할 수 있습니다. 헤더만 가져오거나 페이지 전체를 가져옵니다. 헤더 전용 옵션을 선택하면 페이지 본문을 생성하고 전송할 필요가 없으므로 원격 서버에 필요한 처리 능력과 대역폭이 줄어듭니다.

curl_getinfo를 통해 마지막 수정 날짜 가져오기

마지막 수정 날짜나 원격 파일의 If-Modified-Since 헤더를 검색하려면 컬_getinfo()를 사용할 수 있습니다. 헤더 데이터가 아닌 컬 핸들을 첫 번째 인수로 전달하고 CURLINFO_FILETIME을 두 번째 인수로 지정합니다. 그러나 파일 시간을 항상 사용할 수 있는 것은 아니며, 이 경우 -1로 보고된다는 점에 유의하는 것이 중요합니다.

예: 마지막 수정 날짜 검색

<?php

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'];
    }
}

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

?>

추가 고려 사항

URIInfo 클래스는 콘텐츠 유형이나 ETag와 같은 다른 헤더 정보를 검색하는 메서드로 확장될 수 있습니다.

위 내용은 PHP에서 컬을 사용하여 원격 파일의 마지막 수정 날짜를 어떻게 검색할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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