file_get_contents(' php:// input')返回空

时间:2014-10-27 17:16:30

标签: php xml

使用file_get_contents('php://input')将xml数据从一台服务器发送到另一台服务器返回空。我发送测试xml以确保远程文件将处理传入的xml流。

$xmlcontent  = "<?xml version=\"1.0\"?>\n<english>\n<amount>\n4500.22 dollars\n</amount>\n</english>";
$url = "https://www.example.info/xmlprocessor";
$opts = array(
    'http' => array(
        'method' => 'POST',
        'header' => "Content-type: text/xml",
        'content' => $xmlcontent
    ));
$context = stream_context_create($opts);
$response = file_get_contents($url,false,$context);
//$fp = fopen($url,'r',false,$context);
//fpassthru($fp);
//fclose($fp);

远程网站(https://www.example.info/xmlprocessor

$response = simplexml_load_string(file_get_contents('php://input'));
//$response = simplexml_load_string(fopen('php://stdin','r'));
//$response = file_get_contents('php://input');
//$response = $_POST;
$processed = json_encode($response);
$results = $db->exec("INSERT INTO example (date,data) VALUES('$time','$processed')");

我已经尝试了所有被注释掉的内容以及不同的标题字符串,并在$ opts中使用'xml' => xmlcontent。另外,我尝试使用curl,它甚至没有运行远程脚本。

0 个答案:

没有答案