無料WEB素材の配布とクリエーター作品展示 XTREC

PHP、アート、カフェ、ヒーリング、音楽などなど様々なジャンルのコラムを配信中!

更新PINGの送信2007-05-16 (Wed)

  • ATOM配信もOKとなり。
    今度はPINGを送って更新通知を装備しようと実験中。

    PINGはXML形式のデータをPINGサーバーに渡すだけなので、
    そうは難しくなさそう。

    簡単な方法としては
    1.pearのライブラリーの一つのXML_RPCを使う
    2.curl関数ライブラリーを使う

    一番簡単なXML_RPCを使ってTESTしてみることに。

    メンバー関数でよくわからないエラーが出たので色々手を加えて出来たのが下記のソース。

    処理時間が結構かかり、しかもPINGが送られてない模様。

    現在エラーを修正して下記が組み込んでするソースコードです。
  • <?php
    require_once(ROOT.'/XML/RPC.php');

    ping_send();

    function ping_send() {
        $sitetitle = SITE_TITLE;
        $siteurl = 'http://www.xtrec.com';
        $lines = file(PING_LOG);
        foreach($lines as $line) {
            $items = explode("\t", rtrim($line));
            $servers[] = array(
                            'name' => $items[1],
                            'server' => $items[2],
                            'path' => $items[3],
                        );
        }
        $param = array(
                    new XML_RPC_Value($sitetitle, 'string'),
                    new XML_RPC_Value($siteurl, 'string')
                );
        $msg = new XML_RPC_Message('weblogUpdates.ping', $param);
        foreach($servers as $k => $v) {
            $client = new XML_RPC_Client($v['path'], $v['server'], 80);
            $response = $client->send($msg);
            if(!$response->faultCode()) {
                print $v['name'].'failed'."\n";;
            } else {
                print $v['name'].'success'."\n";
            }
        }
    }
    ?>

リファラーが空なのでブラウザで前のページにお戻りください。

Copyright © 2005-2008 クリエーターの作品展示とWEB素材の配布サイト「XTREC」 All Rights Reserved.

Designed by HISABO