我需要一些帮助。
我有一个生成xml文件的php脚本,然后我需要使用POST将其提交给另一台服务器。 XML文件没问题,因为我可以使用命令行中的curl手动上传它。
我的代码是:
$file = 'temp.xml';
file_put_contents($file, $output);
$post = array('extra_info' => '123456','file_contents'=>'@'.$file);
$url = "<URL>";
$chlead = curl_init();
curl_setopt($chlead, CURLOPT_USERPWD, "<USER>:<PASSWORD>");
curl_setopt($chlead, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($chlead, CURLOPT_URL, $url);
curl_setopt($chlead, CURLOPT_VERBOSE, 1);
curl_setopt($chlead, CURLOPT_POST,1);
curl_setopt($chlead, CURLOPT_POSTFIELDS, $post);
curl_setopt($chlead, CURLOPT_RETURNTRANSFER, false);
$response = curl_exec($chlead);
我可以通过以下方式手动将文件上传到正确处理的服务器:
curl -v -k -u <USER>:<PASSWORD> -X POST --upload-file temp.xml <URL>
我缺少什么?我使用的是PHP 5.2.17。此外,如果有一种方法可以在不将xml文件写入磁盘的情况下执行此操作,那将很有用。
由于
答案 0 :(得分:0)
检查目标,文件网址路径是否正确或使用绝对路径