php輸出緩衝控制

來源:互聯網
上載者:User

簡介

當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 "Hello\n";    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)

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.