Header()替代

时间:2011-11-21 11:33:09

标签: php

您好我是php的新手,想知道header('location:mysit.php');

的一些替代功能

我的情况是我发送这样的请求:

header('Location: http://localhost/(some external site).php'&?var='test')

这样的事情,但我想做的是我想将变量的值发送到外部网站,但我实际上不希望该页面弹出。

我的意思是应该将变量发送到某个外部站点/页面,但是在屏幕上我想要重定向到我的登录页面。但似乎我不知道任何替代方案请指导我。 THX。

4 个答案:

答案 0 :(得分:3)

您正在搜索PHP cUrl

$ch = curl_init();

// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, 0);

// grab URL and pass it to the browser
curl_exec($ch);

// close cURL resource, and free up system resources
curl_close($ch);

答案 1 :(得分:2)

将位置标头设置为您实际想要将浏览器重定向到的位置,并使用cURL之类的内容向远程站点发出HTTP请求。

答案 2 :(得分:1)

通常这样做的方法是通过cURL发送这些参数,解析返回值并根据需要使用它们。

通过使用cURL,您可以将POST和GET变量传递给任何URL。 像这样:

$ch = curl_init('http://example.org/?aVariable=theValue');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);

现在,在$ result中,您获得了传递给curl_init()的URL的响应。

如果您需要发布数据,代码需要更多:

$ch = curl_init('http://example.org/page_to_post_to.php');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'variable1=value1&variable2=value2');
$result = curl_exec($ch);
curl_close($ch);

同样,POST请求的结果将保存到$ result。

答案 3 :(得分:0)

您可以通过多种方式连接到后台的其他网址。有cURL(http://php.net/curl - 已经在之前的评论中提到了),有fopen(http://php.net/manual/en/function.fopen.php),有fsockopen(http://php.net/manual/en/function.fsockopen.php - 稍微高级一点)