PHPでTrackbackを処理するPEAR::Services_Trackbackの使い方


PHPでTrackbackを処理する際に使えるPEARモジュール
Services_Trackbackの使い方を調べる必要が合ったので、
ブログにもエントリーです。

トラックバックの送受信を簡単に出来るライブラリになります。

インストール

以下のコマンドを実行します

pear install Services_Trackback

インストールしたら早速使って見ましょう

IT/WEB業界への転職なら求人サイトGreen

トラックバックを送信する

以下のコードを実行します。

/***************************************
 * PEARを読み込みます。
****************************************/
require_once('Services/Trackback.php');


/***************************************
 * トラックバック送信元のデータを指定します。
****************************************/
$data = array(
'id'	 =>1, //固定
'title'	 => '記事タイトルを入力します。',  
'excerpt'	=> '概要をここに入力します。', 
'blog_name'	=> 'サイト名を入力します', 

 // トラックバック送信元の記事URL
'url'	 => 'http://example.com/post.php',

// トラックバック送信先
'trackback_url'	=> 'http://othersite.com/post.php' , 

// ホスト名
'host'	 => $_SERVER['REMOTE_ADDR'],	
);



/***************************************
 * トラックバックを送信します。
****************************************/
$tb = Services_Trackback::create($data);
$res = $tb->send($data);
if ($res !== true) {
	
	/***************************************
	 * トラックバックに失敗(送信先Pingサーバーがエラーを返す)した場合の処理です。
	****************************************/
	echo $tb->getResponseError($res->getMessage(), 1);
	echo 'トラックバックに失敗しました。';
	exit();
} else {
	/***************************************
	 * トラックバックに成功した場合の処理です。
	****************************************/
	echo 'トラックバックに成功しました';
}

上記のサンプルコードを実行すると、トラックバックが送信されます。

コード内のtitleに記事タイトル、excerptに概要、blog_nameにサイト名、urlに作成した記事のURLを指定します。

trackback_urは送信す先のブログのURLになります。

実際にトラックバックを送信する処理は以下になります。

Services_Trackback::create($data);
$res = $tb->send($data);

トラックバックを受信する

次にトラックバックを受信してみましょう。

コードは以下になります。

/***************************************
 * PEARを読み込みます。 
****************************************/
require_once 'Services/Trackback.php';

/***************************************
 * パラメータの指定
****************************************/
$data = array_merge(array(
	'id' => 1, 
	'host' => $_SERVER["REMOTE_ADDR"]
	), 
	$_POST);


/***************************************
 * トラックバックを受信します。
****************************************/
$tb = Services_Trackback::create($data);
$res = $tb->receive($data);


if ($res !== true) {
	
	/***************************************
	 * トラックバックに失敗(パラメータが不正)の場合の処理です。
	****************************************/
	echo $tb->getResponseError($res->getMessage(), 1);
	echo '不正なアクセスです。';
	exit();
} else {
	/***************************************
	 * トラックバックに成功した場合の処理です。
     * 受け取ったパラメータをゴニョゴニョします。
	****************************************/
	$data['url'] = $tb->get('url');
	$data['title'] = $tb->get('title');
	$data['blog_name'] = $tb->get('blog_name');
	$data['excerpt'] = $tb->get('excerpt');
	
	/***************************************
	 * トラックバック送信元にメッセージを返します。
	****************************************/
	echo $tb->getResponseSuccess();
}

以上、PHPでTrackbackを処理するPEAR::Services_Trackbackの使い方でした

 

この記事が気に入ったら
いいね!しよう

最新情報をお届けします

follow us in feedly