您的位置:首頁技術文章
文章詳情頁

PHP擴展之輸出緩沖控制

瀏覽:8日期:2022-09-15 15:02:28
簡介

當PHP腳本有輸出時,輸出控制函數可以用這些來控制輸出。這在多種不同情況中非常有用,尤其是用來在腳本開始輸出 數據后,發送http頭信息到瀏覽器。輸出控制函數不影響由 header() 或 setcookie()發送的文件頭信息,僅影響像 echo這樣的函數和PHP代碼塊間的數據。

注意:

由于早先的版本的缺陷,當從PHP4.1.x(4.2.x,4.3.x)升級時,必須保證php.ini中的implicit_flush 是 OFF, 否則任何用 ob_start()的輸出將在輸出中隱藏掉。

基本用法

<?php ob_start(); echo 'Hellon'; setcookie('cookiename', 'cookiedata'); ob_end_flush();?>

在上面的例子中, echo函數的輸出將一直被保存在輸出緩沖區中直到調用 ob_end_flush() 。同時,對 setcookie()的調用也成功存儲了一個cookie,而不會引起錯誤。(正常情況下,在數據被發送到瀏覽器后,就不能再發送http頭信息了。)

輸出控制函數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重寫器的值(Add URL rewriter values)output_reset_rewrite_vars — 重設URL重寫器的值(Reset URL rewriter values)
標簽: PHP
相關文章:
国产综合久久一区二区三区