PHPで更新Pingの送信

  • 投稿日:
  • by
  • カテゴリ:

PHP

WordPressやMovableTypeなどのブログシステムでは、更新Pingの送信機能がついていますが、PHPでの自作プロジェクトやスクリプトには更新Pingの機能はありません。また、ただ単にPing機能だけを使いたいという場合もあるでしょう。

そういうときに便利なPHP製のPing送信ツールです。

以下のスクリプトで更新Pingを送信できます。

条件としては、PEARのXML-RPCがインストールされていることです。

良かったら、お使いください。

こちら↓

<?php
require_once('XML/RPC.php');

$blogtitle = 'ページのタイトル';
$blogtopurl = 'トップページのURL';

// ここに更新pingサーバを追加していく
$servers = array(
array(
'server' => 'http://api.my.yahoo.co.jp',
'path' => '/RPC2',
),
array(
'server' => 'http://api.my.yahoo.com',
'path' => '/RPC2',
),
array(
'server' => 'http://blog.goo.ne.jp',
'path' => '/XMLRPC',
),
);

ping_send($blogtitle, $blogtopurl, $servers);

function ping_send($blogtitle, $blogtopurl, $servers){

$param = array(
new XML_RPC_Value($blogtitle,'string'),
new XML_RPC_Value($blogtopurl,'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){
echo $v['server'].' timeout'."\n\n";
} else if($response->faultCode()){
echo $v['server'].' failed'."\n\n";
} else {
echo $v['server'].' success'."\n\n";
}
}
}
?>

Ping送信先を追加するときは、配列に以下のように追加していきます。

array(
	'server'	=>	'http://blog.goo.ne.jp',
	'path'		=>	'/XMLRPC',
),

参考URL


  • PHPでBlog更新ping (XML-RPC)を送信する|PHPプログラムメモ|プログラムメモ

PEAR入門 PHP標準ライブラリを極める!