プログラミング言語や環境設定を中心としたパソコン関連の技術メモです。
主にシステム開発中に調べたことをメモしています。TIPS的な位置付けで、気が向いたときにちまちま更新していきます。
PHP、更新Pingを送信する。
更新pingの仕組み」でPing送信の仕組みは理解しました。
PHP、RSSファイルを作成する。」でRSSファイルも作成しました。

いよいよ更新Ping送信機能を作っちゃいますょ(--)☆

の前に、前準備としてトップページのヘッダに
これを書いておきますφ(--)

<link rel="alternate" type="application/rss+xml" title="RSS" href="RSSファイルのURL" />

更新Pingを投げるとPingサーバさんがこのタグを見にくるのだそうな。
ほんでこのタグの内容を元にRSSファイルを取得してくれるんですってさ。

それでは前準備ができたところでPing送信するプログラムを作るとしますかね。

仕組みとしてはサイトタイトルとURLを記載したXMLを作成して
それをPOSTすれば良いだけらしい。

こちらのページをほぼ丸パクr・・ごほごほ(-q-)
参考にさせていただいて、出来あがったのがこんなんφ(--)
<?php
    //---------------
    // 定数定義
    //---------------
    define("SYSTEM_TITLE", "「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典");
    define("BASE_URL", "http://wa3.i-3-i.info/");

    //---------------
    // 送付用関数
    //---------------
    function sendPing($host, $path, $title=SYSTEM_TITLE, $url=BASE_URL) {
        //---------------
        // 送付用XML
        //---------------
        $title = htmlspecialchars($title);
        $xml =<<<PING
<?xml version="1.0"?>
<methodCall>
    <methodName>weblogUpdates.ping</methodName>
    <params>
        <param>
            <value>$title</value>
        </param>
        <param>
            <value>$url</value>
        </param>
    </params>
</methodCall>
PING;

        //---------------
        // POST内容
        //---------------
        $xmlLen = strlen($xml);
        $req = <<<REQ
POST $path HTTP/1.0
Host: $host
Content-Type: text/xml
Content-Length: $xmlLen

$xml
REQ;

        //---------------
        // 送信
        //---------------
        $s = @fsockopen($host, 80, $errNo, $errStr, 3);

        $res = "";
        if($s){
            fputs($s, $req);
            while(!feof($s)) {$res .= fread($s, 1024);}
        }

        // Ping送信先からの戻り内容を返す
        return $res;
    }

    //---------------
    //主処理
    //---------------
    echo sendPing("blogsearch.google.co.jp", "/ping/RPC2") . "<br>";
?>

XMLを作成してソケット経由で送りつけてる訳ですね。
なるほど。

完了\(--)/
スポンサーリンク
 
このエントリーをはてなブックマークに追加 

category:● PHP  thema:システム開発 - genre:コンピュータ  Posted by ササキマコト 

  関連記事