私は PHP を使用して 30 分ごとにフィード xml を読み取っています。今のところ、更新されているかどうかに関係なく、常にフィード ファイル全体を読み取っています。しかし、前回のダウンロード以降にフィード xml が更新されているかどうかを確認したいのですが、更新されている場合は xml を読み取るだけで、それ以外の場合はそうではありません。
以下のコードを使用してそれを達成しようとしていますが、 $lastmodifiedRSS は常に空です。私のコードで何が問題になっているのかわかりません。$lastmodifiedRSS を取得した場合、それを最後に読み込まれた時刻と簡単に比較して、何をすべきかを決めることができます。
エキスパートが情報を共有できれば、それは素晴らしいことです。前もって感謝します。
//get feed information & content
$feed = new feed($rssurl);
$feed->load();
//get the last modified date (web server information)
$lastmodifiedRSS = $feed->http->get_header_value('Last-Modified');
function http($url)
{
$this->url($url);
$this->user_agent = 'posh';
$this->header = "";
$this->code = "";
$this->codeStr = "";
$this->max_d = 5;
$this->authorization = "";
$this->proxy_auth = "";
$this->url = $url;
$this->addProxy();
}
function feed($url)
{
if ($url) {
$this->url = $url;
$this->http = new http($url);
//$this->addProxy();
} else {
$this->http = new http('');
}
}
function load()
{
$content= $this->http->get();
if (!$content)
return false;
$content = $this->transcode($content);
return $content;
}
function get_header_value($name)
{
if (preg_match("/$name: ?([^\\r\\n]*)\\r\\n/m",$this->head,$matches) !== false)
{
if (count($matches) > 1)
{
return $matches[1];
}
}
return false;
}
よろしく、 モナ