Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在重定向的同时传输数据?_Php_Windows 7_Iis 7_Joomla1.5 - Fatal编程技术网

Php 如何在重定向的同时传输数据?

Php 如何在重定向的同时传输数据?,php,windows-7,iis-7,joomla1.5,Php,Windows 7,Iis 7,Joomla1.5,显然,这段代码从它所在的位置(在404处理程序中)重定向到自定义404处理程序 header('Location: index.php?option=com_content&view=article&id=4' ); 除了向调用添加额外的项之外,例如 header('Location: index.php?option=com_content&view=article&id=4&param=foo' ); 还有其他传输数据的方法吗?例如,是否有一种机制

显然,这段代码从它所在的位置(在404处理程序中)重定向到自定义404处理程序

header('Location: index.php?option=com_content&view=article&id=4' );
除了向调用添加额外的项之外,例如

header('Location: index.php?option=com_content&view=article&id=4&param=foo' );
还有其他传输数据的方法吗?例如,是否有一种机制可以在传递位置的同时发送表单数据

上下文:Windows7,IIS7,PHP5,Joomla!1.5是的

如果您重定向到同一个域中的不同位置,并且您真正需要的是重定向数据,请考虑使用Web服务器配置的重定向。我已经用Apache完成了。有

如果您需要做一些额外的操作(捕获或操作数据,然后再传递数据),那么您可以考虑使用,将发布的数据保存到会话中,而不是重新发布POST数据到新的位置。 如果您需要将接收到的数据发布到新位置(尤其是如果域不在您的控制范围内)并呈现结果(不关心在浏览器中实际重定向),那么可能会很有用

下面是一些示例代码:

if(!empty($_GET['url'])) $url = $_GET['url'];
else $url = 'localhost/default.php';

$post = array
(
  'example_post_var_1' => 'foo',
  'example_post_var_2' => 'bar'
);

$options = array
(
  CURLOPT_POST => 1,
  CURLOPT_HEADER => 0,
  CURLOPT_URL => $url,
  CURLOPT_FRESH_CONNECT => 1,
  CURLOPT_RETURNTRANSFER => 1,
  CURLOPT_FORBID_REUSE => 1,
  CURLOPT_TIMEOUT => 4,
  CURLOPT_POSTFIELDS => http_build_query($post)
);

$ch = curl_init();
curl_setopt_array($ch, $options);
if(!$result = curl_exec($ch))
{
  trigger_error(curl_error($ch));
}

echo $result;
curl_close($ch);
exit();

可以跨请求保留数据。

所以让我直说吧。你好像在说我可以用cURL重定向到另一个页面,是吗?你想发布一个链接到一个例子吗?想出来了,呜呼,你这个开膛手!!