-
ATOM配信もOKとなり。
今度はPINGを送って更新通知を装備しようと実験中。
PINGはXML形式のデータをPINGサーバーに渡すだけなので、
そうは難しくなさそう。
簡単な方法としては
1.pearのライブラリーの一つのXML_RPCを使う
2.curl関数ライブラリーを使う
一番簡単なXML_RPCを使ってTESTしてみることに。
メンバー関数でよくわからないエラーが出たので色々手を加えて出来たのが下記のソース。
処理時間が結構かかり、しかもPINGが送られてない模様。
現在エラーを修正して下記が組み込んでするソースコードです。
-
<?php
require_once(ROOT.'/XML/RPC.php');
ping_send();
function ping_send() {
$sitetitle = SITE_TITLE;
$siteurl = 'http://www.xtrec.com';
$lines = file(PING_LOG);
foreach($lines as $line) {
$items = explode("\t", rtrim($line));
$servers[] = array(
'name' => $items[1],
'server' => $items[2],
'path' => $items[3],
);
}
$param = array(
new XML_RPC_Value($sitetitle, 'string'),
new XML_RPC_Value($siteurl, 'string')
);
$msg = new XML_RPC_Message('weblogUpdates.ping', $param);
foreach($servers as $k => $v) {
$client = new XML_RPC_Client($v['path'], $v['server'], 80);
$response = $client->send($msg);
if(!$response->faultCode()) {
print $v['name'].'failed'."\n";;
} else {
print $v['name'].'success'."\n";
}
}
}
?>