我正在使用 PHP (WAMPServer) 接收表单提交,然后使用 CURL 将文件传递到另一台服务器进行处理。
这是一个示例来说明(不是实际代码):
$data = array(
'file' => '@'.$_FILES['key']['tmp_name']
);
这是我用于 CURL 的内容......当我粘贴代码时,我注意到我的代码中仍然存在http_build_query()
......所以,这一定是问题所在。
$CURL = curl_init();
curl_setopt($CURL, CURLOPT_URL, $operation['callback']);
$query_string = http_build_query($arguments);
curl_setopt($CURL, CURLOPT_POSTFIELDS, $query_string);
curl_setopt($CURL, CURLOPT_POST, TRUE);
curl_setopt($CURL, CURLOPT_RETURNTRANSFER, TRUE);
$result = curl_exec($CURL);
curl_close($CURL);
return $result;
我的问题是最后一个服务器没有收到文件。相反,数据作为键值对传递。
$_POST contains 'file' => '@c:\wamp\tmp\xyz.tmp'
我更喜欢的是文件被传输,并且 $_FILES 有关于它的信息。