【发布时间】:2012-04-11 15:19:18
【问题描述】:
我正在使用 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 有关于它的信息。
【问题讨论】:
-
也尝试发送
'name' => 'xyz'值。可以放实际代码吗? -
我们需要查看curl代码的其余部分。
标签: php file-upload curl proxy