我正在尝试使用cURL从我正在开发的Web应用程序中的表单转发http请求。基本上我需要在不同的服务器上提交两次相同的表单,对于第二个服务器,我正在为帖子数据添加一些安全措施。
我可以在第二张表格上收到$ _POST信息完全正常,但是我的$ _FILES遇到了重大麻烦 - 我已经尝试将两者分开,所以对帖子和文件数据有单独的请求,但仍然没有运气。
这可能吗?
答案 0 :(得分:2)
<?php
$filename = '/foo/bar';
$postargs = array(
'foo' =>'bar', //normal postfield
'fileentry' => '@'.$filename //be sure to give it as an absolute path!, $_FILES['fileentry']['tmp_name'] usually has this
);
$ch = curl_init();
//other stuff with curl
curl_setopt($ch,CURL_POSTFIELDS, $postargs);//give as array for proper encoding.
curl_exec();
?>
答案 1 :(得分:0)
你可以:
file_get_contents('php://input')
作为原始发布数据提交(有关详细信息,请参阅this question)。您还必须使用CURLOPT_HTTPHEADER
转发一些HTTP标头,即Content-Length
和Content-type
。这可以避免命中文件系统。