Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用curl和php保存xml文件时出现问题_Php_Xml_Curl - Fatal编程技术网

使用curl和php保存xml文件时出现问题

使用curl和php保存xml文件时出现问题,php,xml,curl,Php,Xml,Curl,我正在使用curl和xml将我的xml发布到URL 我现在收到它的响应,但它没有显示在输出中 当我右键单击查看源代码页面时,就像XML文件输出一样 我需要将该xml文档存储到一个文件中 我在下面使用了这个代码 <? $path = "https://newport.ingrammicro.com/mustang"; //Relative path to the file with $_POST parsing $ch = curl_init($path); //Initialise cur

我正在使用curl和xml将我的xml发布到URL

我现在收到它的响应,但它没有显示在输出中

当我右键单击
查看源代码
页面时,就像XML文件输出一样

我需要将该xml文档存储到一个文件中

我在下面使用了这个代码

<?
$path = "https://newport.ingrammicro.com/mustang"; //Relative path to the file with $_POST parsing
$ch = curl_init($path); //Initialise curl resource with above file
$data = "my xml document to post"; 
//Data to be sent to the file

curl_setopt($ch, CURLOPT_POSTFIELDS, $data); //Send the data to the file?
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0); 
curl_setopt($ch, CURLOPT_HEADER, 0);
$val = curl_exec($ch);   
curl_close($ch); //Close curl session
$fp = fopen('data.xml', 'w');
fwrite($fp, $val);
fclose($fp);
?>

有人知道怎么做吗?

CURLOPT\u RETURNTRANSFER
设置为
true

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

为什么首先将其设置为0?

CURLOPT\u RETURNTRANSFER
设置为
true

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
为什么首先将其设置为0?

除非将CURLOPT\u RETURNTRASFER设置设置为TRUE(1),否则curl\u exec()函数在成功时返回TRUE,失败时返回FALSE:

这将导致curl_exec()函数返回请求的响应体,而不是真/假值

另请参见

中的“返回值”部分,curl_exec()函数在成功时返回TRUE,在失败时返回FALSE,除非将CURLOPT_RETURNTRASFER设置设置为TRUE(1):

这将导致curl_exec()函数返回请求的响应体,而不是真/假值


如果您想尝试添加一些用户代理,以确保获得与真实浏览器相同的输出,请参见

的“返回值”部分

                @curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1");

此外,如果您想尝试添加一些用户代理,以确保获得与实际浏览器相同的输出

                @curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1");
正如Grabiel Sosa所说,“您可能需要尝试添加一些用户代理,以确保获得与真实浏览器相同的输出”

该网站包含大量用户代理(Mozilla等)

如Grabiel Sosa所说,“您可能需要尝试添加一些用户代理,以确保获得与真实浏览器相同的输出”


该网站包含大量用户代理(Mozilla和其他)

下次您在此处(或其他任何地方)提问时,请尝试删除不必要的填充内容和您绝对确定不需要的信息,例如此处的XML文档。还要记住,段落和换行符不应该总是匹配的。下次您在这里(或其他任何地方)提问时,请尝试删除不必要的填充符和您绝对确定不需要的信息,例如这里的XML文档。还要记住,段落和换行符不应该总是匹配的。