このブログサーバは自宅サーバから発信しています。 freo(フレオ)は、PHP5で作成された日記ツール&サイト管理ツールで、無料で有難く使わせていただいています。
ここを読みながら freo(フレオ)用にブログピング送信の自作プラグインを作りましたので、公開しちゃいます。 インターネットで情報を集めて作った PHP のコードなので、コピペして再利用していただいてもOKです。
【準備編】 PHP-PEAR, XML_RPC をインストールします。 PHP5 はインストール済が前提です。
root# uname -a Linux kuro-box 2.6.25.1-kurobox #10 Sun May 4 21:50:38 JST 2008 ppc GNU/Linux root# aptitude install php-pear root# pear install XML_RPC
以下のサンプルコードを ./freo/libs/freo/plugins フォルダの配下にアップロードします。
【サンプルコード】
ファイル名:end.sendping.php
| 1 | kuro-box# more end.sendping.php |
| 2 | <?php |
| 3 | require_once('XML/RPC.php'); |
| 4 | |
| 5 | function freo_end_sendping() |
| 6 | { |
| 7 | |
| 8 | $blogtitle = '休日のバイク旅行記'; |
| 9 | $blogtopurl = 'http://fukutaro.ddo.jp/freo/index.php/feed'; |
| 10 | |
| 11 | // ここに更新pingサーバを追加していく |
| 12 | $servers = array( |
| 13 | array( |
| 14 | 'server' => 'http://api.my.yahoo.co.jp', |
| 15 | 'path' => '/RPC2', |
| 16 | ), |
| 17 | array( |
| 18 | 'server' => 'http://blogsearch.google.co.jp', |
| 19 | 'path' => '/ping/RPC2', |
| 20 | ), |
| 21 | array( |
| 22 | 'server' => 'http://ping.blogmura.com', |
| 23 | 'path' => '/xmlrpc/x3r434u8p448', |
| 24 | ), |
| 25 | ); |
| 26 | |
| 27 | $param = array( |
| 28 | new XML_RPC_Value($blogtitle,'string'), |
| 29 | new XML_RPC_Value($blogtopurl,'string') |
| 30 | ); |
| 31 | |
| 32 | $msg = new XML_RPC_Message('weblogUpdates.ping',$param); |
| 33 | |
| 34 | foreach($servers as $k => $v){ |
| 35 | $client = new XML_RPC_Client($v['path'],$v['server'],80); |
| 36 | $response = $client->send($msg); |
| 37 | // if (!$response){ |
| 38 | // echo $v['server'].' timeout'."\n\n"; |
| 39 | // } else if($response->faultCode()){ |
| 40 | // echo $v['server'].' failed'."\n\n"; |
| 41 | // } else { |
| 42 | // echo $v['server'].' success'."\n\n"; |
| 43 | // } |
| 44 | } |
| 45 | return; |
| 46 | } |
| 47 | ?> |
| 48 | kuro-box# |
37行目~43行目は、デバック用としてコメントアウトしています。
ファイル名:config.sendping.php
| 1 | kuro-box# more config.sendping.php |
| 2 | <?php |
| 3 | |
| 4 | //プラグインの名前 |
| 5 | define('FREO_PLUGIN_SENDPING_NAME', 'PING送信'); |
| 6 | |
| 7 | //プラグインのバージョン |
| 8 | define('FREO_PLUGIN_SENDPING_VERSION', '1.0.0'); |
| 9 | |
| 10 | //endファイルの読み込み設定 |
| 11 | define('FREO_PLUGIN_SENDPING_LOAD_END', 'admin/entry_post,admin/entry_delete'); |
| 12 | |
| 13 | ?> |
| 14 | kuro-box# |
| 15 |