xmlrpc_decode_request

XML-RPC リクエスト時に送信される XML を PHP のネイティブな形式にデコードする。

説明

mixed xmlrpc_decode_request(string $xml,string &$method[, string $encoding])

パラメータ

xml
XML-RPC リクエストの XML です。 methodCall 要素が root 要素になっているはずです。
method
XML-RPC リクエストで指定されているメソッドが 何であったかを格納する変数を渡します。 関数呼出し後に、この変数の値を調べるとメソッドが 何であったかを知ることができます。
encoding
PHP 内部での文字列で何が使われているかを指定します。 xml 内の文字列がどのようなエンコーディングで記載されているかは xml ドキュメント自体で宣言されていますが、 これを PHP 内部の文字列として表現する際、 必要に応じて文字セットの変換を行います。

返り値

XML-RPC リクエストの可変長引数が配列で返されます。

XML-RPC サーバの例

<?php
# php://input で HTTP POST で渡される XML ドキュメントを取り込みます。
$xml = file_get_contents('php://input');

$method="";
$params=xmlrpc_decode_request($xml,$method,"UTF-8");
if($method=='php.trim'){
	header('Content-type: text/xml');
	echo xmlrpc_encode(trim($params[0]));
	return;
}
header('Content-type: text/xml');
echo '<?xml version="1.0"?><methodResponse><fault><value><struct>
<member><name>faultCode</name><value><int>-32601</int></value></member>
<member><name>faultString</name><value><string>server error. requested method not found</string></value></member>
</struct></value></fault></methodResponse>';
?>

xmlrpc_server_* 関数群を使って XML-RPC サーバを実装することもできます。 xmlrpc_server_create を参照してください。


    Front page List of pages Search Recent changes Backup Referer   Help   RSS of recent changes

© 2006-2008 Internet Revolution