繁体   English   中英

PHP使用curl post将文件从服务器上传到另一台服务器

[英]PHP upload file from server to another server using curl post

我需要一些帮助。

我有一个生成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文件写入磁盘,那将是一个很好的了解。

谢谢

检查目标和文件URL路径是否正确或使用绝对路径

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM