首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP4 新函數:輸出緩衝控制函數詳細說明

     編輯:PHP 相關知識

輸出緩衡機制

PHP4 引入輸出緩衝函數,允許腳本將輸出暫存在記憶體緩衝區,而非直接發送給瀏覽器。此機制不影響 header()、setcookie() 送出的 HTTP 標頭,僅作用於 echo、print 等輸出內容。

典型應用:在輸出內容後仍能設定 Cookie

<?php
ob_start();
echo 'Hello ';
setcookie('cookiename', 'cookiedata'); // 不會產生 "headers already sent" 錯誤
ob_end_flush();
?>

緩衝區內容在 ob_end_flush() 時一次性送出,故 setcookie 仍在標頭發送前生效。

函數列表

函數說明
flush()刷新輸出緩衝區,送出至瀏覽器
ob_start()開啟輸出緩衝,後續輸出暫存於緩衝區
ob_get_contents()取得目前緩衝區內容字串(可備份或後處理)
ob_get_length()取得緩衝區內容長度
ob_end_flush()送出緩衝區內容並關閉緩衝
ob_end_clean()捨棄緩衝區內容並關閉緩衝(防止敏感資料外洩)
ob_implicit_flush()開啟/關閉隱含刷新,開啟後每次輸出自動送出

進階用法

  • 巢狀緩衝:可多次呼叫 ob_start(),形成多層緩衝。
  • 錯誤處理:偵測輸出異常時,呼叫 ob_end_clean() 放棄輸出,改顯示錯誤頁面。
  • 效能考量:預設不建議全域開啟 output_buffering,僅在需要處理標頭與輸出順序的腳本中使用。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved