将多部分POST转发到另一个页面

时间:2011-08-11 14:45:13

标签: php webforms httprequest

好的,我有两个网站,我们称之为A和B.网站A有一个带文件附件的多部分表格;站点B有一个类似的形式(我将不会使用)和它提交的处理页面。由于浏览器原始策略,我正在向站点B添加一个“代理页面”,我可以从站点A发布。然后,代理页面需要将数据“转发”到处理页面并获得响应,我将用于生成JSONP以发送回站点A.

我通常使用会话或仅在代理页面上生成并自动提交表单,但我不知道如何执行此操作,因为它涉及文件输入标记。我想我可以使用这样的东西:http://www.php.net/manual/en/function.httprequest-send.php

有什么想法吗?

1 个答案:

答案 0 :(得分:6)

卷曲会相对微不足道。

$post_data = $_POST; // copy over the non-file post data
foreach($_FILES as $key => $filedat) {
   $post_data[$key] = '@' . $filedat['tmp_name'];  // add the uploaded files to the new field list
}

$ch = curl_init('http://siteb.com/proxy_page')
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
$res = curl_exec($ch);

毫无疑问,这需要一些调整/修复,但应该足以让你开始。