首頁 > 後端開發 > php教程 > PHP 中應該在 `Location:` 標頭之後使用 `exit()` 嗎?

PHP 中應該在 `Location:` 標頭之後使用 `exit()` 嗎?

Mary-Kate Olsen
發布: 2025-01-03 09:47:42
原創
494 人瀏覽過

Should You Use `exit()` After a `Location:` Header in PHP?

應該在 Location: header 之後使用 exit() 嗎?

呼叫 header 函數進行重定向後,決定是否呼叫是至關重要的exit() 或不退出。出現這個問題是因為 header 不會自動結束腳本執行。

為什麼要呼叫 exit()?

強烈建議在header 後使用exit(),原因如下:

  • 防止進一步執行程式碼: 沒有exit(),腳本將繼續設定重定向標頭後執行程式碼。這可能會導致意外的副作用或不必要的資源消耗。
  • 清除腳本輸出: exit() 強制腳本停止執行並阻止其他輸出傳送到瀏覽器。這可確保更清晰的重定向體驗。

用法範例:

如給定範例所示,應在設定 Location 標頭後立即呼叫 exit() :

<?php // fileA
$urlFailToGoTo = '/formerror.php';

if (sth) {
    header(sprintf("Location: %s", $urlFailToGoTo));
    exit();
}
登入後複製

避免使用return:

這裡使用 return 來取代 exit() 是不正確的。 return 通常結束一個函數或方法,但在這種情況下,腳本是一個獨立的程序,不會返回任何呼叫者。 exit() 是徹底終止腳本執行的適當選擇。

以上是PHP 中應該在 `Location:` 標頭之後使用 `exit()` 嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板