奇怪的問題,我打開fsockopen()
到一個頁面的連接, 該頁面有一個header(location:xx)
到同一頁面(我只是刷新腳本),但它'似乎重定向不工作.. 。fsockopen()和標題(位置:xxx)在打開的腳本中?
顯然一切工作,如果我用瀏覽器複製它...
一些代碼:
連接頁面:
$socketcon = fsockopen($_SERVER['HTTP_HOST'],80,$errorno,$errorstr,10);
if($socketcon) {
$socketdata = "GET http://www.example.com/test2.php HTTP/1.0\r\nHost: ".$_SERVER['HTTP_HOST']."\r\nConnection: Close\r\n\r\n";
fwrite($socketcon,$socketdata);
fclose($socketcon);
}
相接頁(test2.php):
<?
//other code (working fine)
if($_GET["AAA"]){
//REDIRECT WORKED !
} else {
header("location:test2.php?AAA=1"); //same page but with a get param
}
?>
重定向加工部分從未得到執行......
有什麼建議?
編輯:連接必須是異步的
您的當前解決方案無論如何不會起作用:一旦調用者腳本結束,連接將被丟棄。我想你想要AJAX。否則,沒有辦法。除非您使用JavaScript,否則您不能魔術般重定向斷開連接的客戶端。 – netcoder
它已經工作的異步部分,即使我關閉瀏覽器(打開調用者腳本),使用套接字打開的腳本仍在運行...問題是我無法重定向套接字腳本 – NicolaPasqui
當您的調用者腳本結束(即:在最後的'?>'結束標記處),套接字被關閉。你可能認爲它有效,但它沒有。除非使用JavaScript,否則您仍然會遇到重定向問題。除非你沒有正確地提出你的問題,並且你只想要一個'include'。 – netcoder