PHP 輸出控制 函式
PHP 輸出控制函式
PHP 提供了一組函式,用於控制在何處以及何時將內容傳送到瀏覽器。這被稱為輸出控制。
輸出可以來自以下任何來源:
echo
、print
、printf
、print_r
... 以及其他類似的函式和語句。- PHP 的通知、警告和錯誤。
- 位於
<?php ?>
標籤之外的任何內容。
PHP 及其執行的後端可能會將輸出儲存在緩衝區中,然後再發送給使用者。
注意:輸出控制函式可以建立任意數量的輸出緩衝區。輸出緩衝區會捕獲程式給出的輸出。每個新的輸出緩衝區都會放置在輸出緩衝區堆疊的頂部,並且它產生的任何輸出都將被其下方的緩衝區捕獲。輸出控制函式只處理最頂層的緩衝區,因此必須移除最頂層的緩衝區才能控制其下方的緩衝區。
安裝
PHP 輸出控制函式是 PHP 核心的一部分。使用這些函式不需要進行任何安裝。
執行時配置
輸出控制函式的功能受 php.ini 設定的影響。
名稱 | 預設值 | 描述 | 版本 |
---|---|---|---|
output_buffering | "0" | 預設情況下啟用所有 PHP 檔案的輸出緩衝。 | 4 |
output_handler | NULL | 設定處理所有輸出緩衝區輸出的預設函式的名稱。 | 4 |
implicit_flush | "0" | 啟用隱式重新整理,這會導致在每個輸出語句後直接將輸出傳送到瀏覽器。 | 4 |
url_rewriter.tags | "a=href,area=href, frame=src,form=,fieldset=" | 指示哪些 HTML 標籤和屬性可以被 URL 重寫器(output_add_rewrite_var() 函式)修改。 | 4.3 |
url_rewriter.hosts | $_SERVER['HTTP_HOST'] 的當前值。 | 預設情況下,URL 重寫僅針對伺服器自己的 URL 進行。要允許重寫其他網站的 URL,請在此處設定其他網站的主機名。 | 7.1 |
PHP 輸出控制函式
方法 | 函式 |
---|---|
flush() | 嘗試將系統輸出緩衝區的內容傳送到瀏覽器。 |
ob_clean() | 刪除最頂層輸出緩衝區的所有內容。 |
ob_end_clean() | 刪除最頂層的輸出緩衝區及其所有內容。 |
ob_end_flush() | 刪除最頂層的輸出緩衝區並輸出其內容。 |
ob_flush() | 輸出最頂層輸出緩衝區的內容並清空緩衝區。 |
ob_get_clean() | 返回最頂層輸出緩衝區的所有內容並清空緩衝區。 |
ob_get_contents() | 返回最頂層輸出緩衝區的內容。 |
ob_get_flush() | 輸出並返回最頂層輸出緩衝區的內容,然後刪除該緩衝區。 |
ob_get_length() | 返回最頂層輸出緩衝區中的資料位元組數。 |
ob_get_level() | 返回一個數字,指示堆疊中有多少個輸出緩衝區。 |
ob_get_status() | 返回有關輸出緩衝區的資訊。 |
ob_gzhandler() | 用作 ob_start() 的回撥函式,用於在將緩衝區內容傳送到瀏覽器時對其進行壓縮。 |
ob_implicit_flush() | 開啟或關閉隱式重新整理。 |
ob_list_handlers() | 返回一個數組,其中包含最頂層輸出緩衝區正在使用的回撥函式名稱。 |
ob_start() | 建立一個新的輸出緩衝區並將其新增到堆疊頂部。 |
output_add_rewrite_var() | 用於將查詢字串引數附加到輸出中的任何 URL。 |
output_reset_rewrite_vars() | 刪除由 output_add_rewrite_var() 新增的所有變數。 |