我有一個小腳本,應該獲取腳本添加到當前頁的元標題。問題是,它在幾個測試頁面上工作正常,但沒有進入我的CMS。它會循環直到死亡,並且我無法訪問我的服務器上的任何頁面,直到完全重新啓動apache並關閉腳本。獲取當前頁面標題無循環
有人可以看看嗎?這真的很棒,因爲我使用谷歌數小時,當然,我發現X線程和頁面,但從來沒有解決這個特殊的循環效應。
<?php
function curPageURL() {
$pageURL = 'http';
$pageURL .= "://";
if ($_SERVER["SERVER_PORT"] != "80") {
$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
} else {
$pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
}
return $pageURL;
}
?>
<?php
if (!isset($_GET['ignore']))
{
$url = curPageURL();
$data = implode("", file("$url?ignore=this"));
preg_match ("/<title>([^`]*?)<\/title>/", $data, $match);
$urltitle = $match[1];
}
?>
<?echo $urltitle;?>
「它循環直到死亡」是什麼意思?你將不得不調試正在發生的事情,我們不能猜測......完成了什麼請求=日誌說什麼? – arkascha
修改你的代碼以包含引起你悲傷的循環,這聽起來像你有一個壞的條件導致無限循環。 – Sammitch
此外,你永遠不會檢查你對'file()'的調用是否成功,並且使用基於文件的函數通過HTTP檢索數據總是一個糟糕的主意恕我直言。使用[cURL](http://ca2.php.net/manual/en/curl.examples-basic.php)。與文件操作相比,我知道這很尷尬,但它更容忍在HTTP會話期間發生的奇怪垃圾,並且可以正確報告特定的錯誤,而不僅僅是返回'false'。 – Sammitch