我使用下面的函數獲取從一系列重定向的URL最終函數循環...停止PHP,而與條件
https://stackoverflow.com/a/4102293/1183476
它工作的時間偉大的99.8%。我無法真正查明異常情況,但我認爲它與另一端的服務器有關,每次訪問都會生成一個新的隨機URL。因此,這個腳本陷入了無限循環。
複製的問題與更換get_redirect_url
功能...
function get_redirect_url($url){
return $url.'x';
}
問題
我怎樣才能設置一個時間或迭代限制?
我覺得我已經嘗試了一切。我試圖在while循環中尋找下一個URL的基於時間的條件,但它不工作,我不知道爲什麼。像這樣...
function get_all_redirects($url){
$redirects = array();
$start = time();
while ($newurl = get_redirect_url($url) && time()-$start < 10){
if (in_array($newurl, $redirects)){
break;
}
$redirects[] = $newurl;
$url = $newurl;
}
return $redirects;
}
我也試圖重複計數這樣......
function get_all_redirects($url){
$redirects = array();
$i = 0;
while ($newurl = get_redirect_url($url) && $i < 10){
if (in_array($newurl, $redirects)){
break;
}
$redirects[] = $newurl;
$url = $newurl;
$i++;
}
return $redirects;
}
以上事例只是衆多的2失敗的嘗試。我已經準備好尋求幫助。提前致謝。
你的計數interations代碼應該工作。試試'echo $ i。'
';'看看爲什麼它沒有完成。 – Ranty 2013-03-13 08:53:04