回答
您可以撥打header()
在一個循環中,但與位置頭,瀏覽器將只遵循一個。
location:<url>
告訴瀏覽器轉到指定的URL。它被稱爲301重定向。爲什麼你會把它稱爲循環,我不知道。
沒有。 header("Location: ...")
應該將瀏覽器重定向到其他頁面,因此只有其中一個呼叫會生效。
你想做什麼?
你的建議應該可以正常工作,但不會如你所期望的那樣。 header()函數只是在腳本內容(您修改http頭)之前在單個批處理中向瀏覽器發送信息。所以當腳本執行完畢後,瀏覽器會轉到指定的頁面,因此只有最後一次調用header('Location...
纔會有效果,並且只有在php腳本執行完畢後纔會發生這種效果。
一個很好的方法來做什麼我認爲你想要做的是將'myscript.php'的功能封裝到一個函數中。
include 'myscript.php';
while (...)
{
...
myscriptFunction();
...
}
...
是的,我知道但是這個腳本已經被使用了,我應該修改我的代碼。 我將不得不創建一個克隆並將其轉換爲你建議的 –
不是,而是將它作爲請求參數傳遞,假設您嘗試重定向到self。例如。
<?php
$i = isset($_GET['i']) ? intval($_GET['i']) : 10; // Or whatever loop count you'd like to have.
if ($i-- > 0) {
header("Location:myscript.php?i=" . $i);
}
?>
然而,我強烈質疑這種意義上/值:)
更新,你只是想包括循環中的PHP腳本/模板?然後改用include()
。
while (...)
include('myscript.php');
}
如果它包含全局代碼,那麼它將被多次評估和執行。
請參閱說明... –
有人建議我這樣: register_shutdown_function('doRedirect');函數doRedirect(){ header('Location:url'); 退出; } –
您可以隨時include
從另一個腳本來執行它的邏輯:
include('myscript.php');
原則上,這應該不需要任何重構代碼myscript.php。預先警告 - myscript.php和包含腳本將共享相同的全局命名空間,這可能會引入錯誤。 (例如,如果容器輸出HTML和myscript調用session_start()
將會生成警告)。
情況就是這樣...... –
- 1. C頭文件中的包含循環
- 2. PHP讀取循環中的文件
- 3. PHP清除for循環中的文件
- 4. 在循環頭中的循環計算
- 5. C++循環依賴於頭文件
- 6. 僅頭文件庫循環依賴
- 7. 使用PHP循環到JSON文件中
- 8. 在foreach循環中包含文件php
- 9. php讀取@attributes的xml文件循環?
- 10. PHP循環條件
- 11. 循環內的PHP循環
- 12. 使用「長度」在頭文件的For循環中出錯C867
- 13. C++頭文件中的循環依賴。怎麼找?
- 14. php循環選項卡分隔文件
- 15. PHP while循環產生KML文件
- 16. 批量定時循環php文件
- 17. 執行外部PHP文件循環
- 18. php文件重命名循環
- 19. PHP壓縮文件夾沒有循環
- 20. PHP $ _FILES文件循環上傳
- 21. 與文件PHP函數循環處理
- 22. 循環在PHP讀取TXT文件的多個標頭和細節項目
- 23. while循環中的多個條件PHP
- 24. 有條件的while循環在php中?
- 25. 在C預處理器中循環通過頭文件
- 26. 在C++頭文件中解析循環引用
- 27. 在XML文件中循環
- 28. PHP雖然循環在while循環中
- 29. PHP雖然在While循環中循環
- 30. PHP「Do」在「For」循環中循環
因爲這個腳本已經存在,我不想在函數中發送它 –