要避免在 PHP 中發送 HTTP 頭部,您可以采取以下措施:
if (!headers_sent()) {
header('Content-Type: text/html; charset=utf-8');
} else {
echo 'Headers already sent';
}
避免在輸出任何內容之前調用 header()
函數。確保所有輸出(包括空格、換行符和 PHP 標簽)都在調用 header()
函數之前完成。
如果您的腳本輸出任何內容(例如錯誤消息或調試信息),請確保在調用 header()
函數之前刪除所有輸出。您可以使用 ob_start()
和 ob_clean()
函數來實現:
ob_start(); // 開始緩沖區
// 輸出內容
$output = ob_get_clean(); // 獲取緩沖區內容并清除緩沖區
if (!headers_sent()) {
header('Content-Type: text/html; charset=utf-8');
echo $output;
} else {
echo 'Headers already sent';
}
請注意,一旦 HTTP 頭部發送,就無法撤銷。因此,務必確保在調用 header()
函數之前完成所有輸出。