PHPで更新Pingの送信

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標準ライブラリを極める!


“PHPで更新Pingの送信” への4件の返信

コメントを残す

メールアドレスが公開されることはありません。

*