Curl を使用した PHP でのヘッダーのみの取得
ヘッダーのみの取得によるサーバー負荷の軽減
PHPとcurlを使用してWebコンテンツを取得する場合、次のことが可能ですヘッダーのみをフェッチするかページ全体をフェッチするかを指定します。ヘッダーのみのオプションを選択すると、ページ本文を生成して送信する必要がなくなるため、リモート サーバーで必要な処理能力と帯域幅が削減されます。
curl_getinfo による最終更新日の取得
リモート ファイルの最終変更日または If-Modified-Since ヘッダーを取得するには、curl_getinfo() を使用できます。最初の引数としてカール ハンドル (ヘッダー データではない) を渡し、2 番目の引数として 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 中国語 Web サイトの他の関連記事を参照してください。