PHPプログラムに関する各種メモ書き

ブログ更新Ping(XML RPC)受信サーバをPHPで作る

ブログ更新Ping(XML RPC)受信サーバをPHPで作る。

1. 更新Pingの受信

まずブログシステムで更新した時に飛んでくるPingを受けるには以下のようにします。

$xml = mb_convert_encoding(file_get_contents("php://input"), "UTF-8", "auto");
if (!$xml) {
    return false;
}
else{
    $data_obj = new SimpleXMLElement($xml);
    $data = (ARRAY)$data_obj;
    // ここに受信したデータの処理を記述
    ・・・・・・・・・・
}

2.成功or失敗コードの出力

処理後に成功または失敗コードを返してやります。

下記コードをテンプレートとして持っておいて header ('Content-Type: text/xml'); の後に送信するのがカスタマイズも楽でいいでしょう。

成功時の戻り値の例
<?xml version="1.0" encoding="UTF-8"?>
<methodResponse>
<params>
 <param>
  <value>
   <struct>
    <member>
     <name>flerror</name>
     <value>
      <boolean>0</boolean>
     </value>
    </member>
    <member>
     <name>message</name>
     <value>
      <string>OK</string>
     </value>
    </member>
   </struct>
  </value>
 </param>
</params>
</methodResponse>

失敗時の戻り値の例
<?xml version="1.0" encoding="UTF-8"?>
<methodResponse>
 <params>
  <param>
   <value>
    <struct>
     <member>
      <name>flerror</name>
      <value>
       <boolean>1</boolean>
      </value>
     </member>
     <member>
      <name>message</name>
      <value>
       <string>Unable to process</string>
      </value>
     </member>
    </struct>
   </value>
  </param>
 </params>
</methodResponse>

関連エントリー

No.880
03/18 17:35

edit

XML
API