私は簡単なPHPコードを使用して、URLにXML文書を投稿します。xml投稿
私はjavascriptコードを持っていますが、javascriptはクロスドメインをサポートしていないので、私はちょうどphpでそれをしたいと思います。
いずれかが、これは私をサポートするためのコードを持っているん...
私は簡単なPHPコードを使用して、URLにXML文書を投稿します。xml投稿
私はjavascriptコードを持っていますが、javascriptはクロスドメインをサポートしていないので、私はちょうどphpでそれをしたいと思います。
いずれかが、これは私をサポートするためのコードを持っているん...
はSimpleXMLを見てみましょう:http://us2.php.net/simplexml
はPHPでHTTPメッセージを処理PECL HTTP classesを使用して非常に簡単です。
HTTP request(クライアント - >サーバーメッセージ)を発行したいとします。ありがたいことに、HttpRequest::setPostFilesは、ファイルコンテンツをHTTPリクエストに含めるプロセスを簡素化します。詳細については、PHPのマニュアルページ(前のリンク)を参照してください。
残念ながらHTTPクラスのマニュアルページは詳細にまばらであり、それはHttpRequest::setPostFiles
の引数がどうあるべきか、完全に明確ではありませんが、次のコードは、あなたが始める必要があります。
$request = new HttpRequest(HttpMessage::HTTP_METH_POST);
$request->setPostFiles(array($file));
$response = $request->send(); // $response should be an HttpMessage object
マニュアル用HttpRequest::setPostFiles
は、このメソッドの単一の引数は投稿するファイルの配列であると述べています。これは不明で、ローカルファイル名の配列、ファイルハンドルの配列、ファイル内容の配列を意味する場合があります。どちらが正しいか把握するのに時間がかかるはずはありません。
ストリームを使用し、PECLに依存しない例を示します。
// Simulate server side
if (isset($_GET['req'])) {
echo htmlspecialchars($_POST['data']);
exit();
}
/**
* Found at: http://netevil.org/blog/2006/nov/http-post-from-php-without-curl
*/
function do_post_request($url, $data, $optional_headers = null)
{
$params = array('http' => array('method' => 'POST',
'content' => $data));
if ($optional_headers !== null) {
$params['http']['header'] = $optional_headers;
}
$ctx = stream_context_create($params);
$fp = @fopen($url, 'rb', false, $ctx);
if (!$fp) {
throw new Exception("Problem with $url, $php_errormsg");
}
$response = @stream_get_contents($fp);
if ($response === false) {
throw new Exception("Problem reading data from $url, $php_errormsg");
}
return $response;
}
// Example taken from: http://en.wikipedia.org/wiki/XML
// (Of course, this should be filled with content from an external file using
// file_get_contents() or something)
$xml_data = <<<EOF
<?xml version="1.0" encoding='ISO-8859-1'?>
<painting>
<img src="madonna.jpg" alt='Foligno Madonna, by Raphael'/>
<caption>This is Raphael's "Foligno" Madonna, painted
in <date>1511</date>-<date>1512</date>.</caption>
</painting>
EOF;
// Request is sent to self (same file) to keep all data
// for the example in one file
$ret = do_post_request(
'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['SCRIPT_NAME'] . '?req',
'data=' . urlencode($xml_data));
echo $ret;
彼はbaaaakです!!!!!!!! – Shoban
これは良いことではありません、その方法は、あなたが私を助けたいとは思わない、いくつかの1つを助ける方法は、そのようなコメントを与える –