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の使い方でした
最新情報をお届けします