xmlrpc_encode_requestPHP ネイティブ形式の配列から XML-RPC リクエストの XML を生成する 説明string xmlrpc_encode_request(string $method, mixed $params[, array $output_options]) パラメータ
返り値XML 全体が文字列として返されます。 例次の例は XML-RPC クライアントの例です。 XML-RPC クライアントの場合は xmlrpc_encode_request と xmlrpc_decode の 2 つの関数を使います。 XML-RPC サーバの場合は xmlrpc_decode_request を参照してください。 <?php $xml = xmlrpc_encode_request('php.trim', ' test string ', array('escaping'=>'markup', 'encoding'=>'UTF-8')); $context = stream_context_create(array('http' => array( 'method' => 'POST', 'header' => "Content-type: text/xml\r\nContent-length: ".strlen($xml), 'content' => $xml ))); $response_xml = file_get_contents('http://example.jp/xmlrpc/server', false, $context); $response = xmlrpc_decode($response_xml); ?> params がリストの配列かどうかで挙動が変わることは、次のような例で説明されます。 <?php var_dump(xmlrpc_encode_request('test', array(1,2,3))); var_dump(xmlrpc_encode_request('test', array('a'=>12,'b'=>'c'))); ?> この出力結果は: string(288) "<?xml version="1.0" encoding="iso-8859-1"?> <methodCall> <methodName>test</methodName> <params> <param> <value> <int>1</int> </value> </param> <param> <value> <int>2</int> </value> </param> <param> <value> <int>3</int> </value> </param> </params> </methodCall> " string(378) "<?xml version="1.0" encoding="iso-8859-1"?> <methodCall> <methodName>test</methodName> <params> <param> <value> <struct> <member> <name>a</name> <value> <int>12</int> </value> </member> <member> <name>b</name> <value> <string>c</string> </value> </member> </struct> </value> </param> </params> </methodCall> " このように、1 つめは test(1,2,3) として変換され、2 つめは test({'a':12,'b':'c'}) として変換されました。 |
© 2006-2008 Internet Revolution