php header()前不能有輸出是因為HTTP請求和HTTP回應都有訊息標頭,而訊息標頭是由眾多標頭域組成;如果在header之前有輸出,就會先以預設請求發送,訊息報頭已確定,後面的設定就會失效。
本文操作環境:windows7系統、PHP7.1版、Dell G3電腦。
php header()前為什麼不能有輸出?
#PHP header() session_start() 為什麼函數前不能有輸出?
前陣面試遇到的問題,當時沒答上來,後來查了些資料,仍未得到答案。今天研究HTTP請求,終於知道答案了。
HTTP 函數允許在其他輸出被傳送之前,對由 Web 伺服器傳送到瀏覽器的資訊進行操作。
HTTP請求和HTTP回應都有訊息標頭。而訊息報頭是由眾多標頭域組成。
也就是設定請求的訊息標頭,再發送;若之前有輸出,就先以預設請求發送了,訊息標頭已確定,後面的設定就失效。
推薦學習:《PHP影片教學》
以上是php header()前為什麼不能有輸出的詳細內容。更多資訊請關注PHP中文網其他相關文章!