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

PHPでTrackbackを処理する際に使えるPEARモジュール
Services_Trackbackの使い方を調べる必要が合ったので、
ブログにもエントリーです。
トラックバックの送受信を簡単に出来るライブラリになります。
インストール
以下のコマンドを実行します
pear install Services_Trackback
インストールしたら早速使って見ましょう
トラックバックを送信する
以下のコードを実行します。
/***************************************
* 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の使い方でした
最新情報をお届けします
