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