2

可能重复:
将通过 URL 获取的数据转换为 post 变量

我在 $_GET 数组中收到一些值,我想将用户重定向到另一个 PHP 文件,但我需要将 GET 数组中的所有值作为 POST 请求发送到该文件,这可能吗?如何?

4

4 回答 4

5

是的,您可以使用 curl 执行此操作。

http://jm2.php.net/curl

curl_setopt($ch, CURLOPT_POST, true);是你需要的。

于 2012-07-02T14:32:13.910 回答
4

我会使用 Curl 库。你可以在这里找到一个样本。

于 2012-07-02T14:31:20.227 回答
2

您不能代表浏览器发出发布请求。所以你不能将用户重定向到另一个文件,并期望它是一个 POST 请求。

正如 Arcadien 所说,您可以使用 Curl 发出 POST 请求,但用户不会注意到任何内容,因为请求是从您的服务器发送到您的服务器的。

于 2012-07-02T14:32:41.610 回答
0

如果您打算进行实际重定向(用户的浏览器实际上加载了目标 URL),那么我认为最干净的方法是使用 javascript;基本的想法是写一个自我提交的表格。使用所有获取变量作为输入类型="hidden" 预先填充表单,然后编写一个小的卸载处理程序来提交它。

如果您不关心用户代理加载新 URL,并且另一个文件在您的服务器上,但它只希望这些变量在 POST 而不是 GET 中,您可以复制这些值并包含该文件$_POST = $_GET;

于 2012-07-02T14:33:54.213 回答