查詢

ob_implicit_flush()函式—用法及示例

「 將輸出緩衝區的自動重新整理設定為開啟或關閉,在輸出緩衝區沒有被顯式地重新整理時,將輸出緩衝區的內容傳送到瀏覽器 」


函式名稱:ob_implicit_flush()

函式描述:ob_implicit_flush() 函式將輸出緩衝區的自動重新整理設定為開啟或關閉,在輸出緩衝區沒有被顯式地重新整理時,將輸出緩衝區的內容傳送到瀏覽器。

適用版本:該函式適用於 PHP 4、PHP 5、PHP 7。

語法:bool ob_implicit_flush ([ int $flag = 1 ] )

引數:

  • flag(可選):設定自動重新整理的標誌。如果 flag 為 1,則自動重新整理開啟;如果 flag 為 0,則自動重新整理關閉。預設值為 1。

返回值:如果成功設定自動重新整理標誌,則返回 true;否則返回 false。

示例:

<?php
ob_start(); // 開啟輸出緩衝區

echo "這是第一行內容\n";

ob_implicit_flush(); // 開啟自動重新整理

for ($i = 1; $i <= 5; $i++) {
    echo "當前行數:" . $i . "\n";
    sleep(1); // 模擬耗時操作
}

ob_end_flush(); // 重新整理輸出緩衝區並關閉

?>

輸出結果:

這是第一行內容
當前行數:1
當前行數:2
當前行數:3
當前行數:4
當前行數:5

解釋:在上述示例中,首先使用 ob_start() 函式開啟輸出緩衝區。然後使用 ob_implicit_flush() 函式開啟自動重新整理。接著使用一個迴圈,在每次迴圈中輸出當前行數,並使用 sleep() 函式模擬耗時操作。最後使用 ob_end_flush() 函式重新整理輸出緩衝區並關閉。

由於開啟了自動重新整理,每次迴圈輸出的內容都會立即傳送到瀏覽器,而不需要等待所有內容輸出完成後才傳送。這樣可以實現動態的輸出效果,適用於需要實時展示進度或結果的場景。

補充糾錯
上一個函式: ob_list_handlers()函式
下一個函式: ob_iconv_handler()函式
熱門PHP函式
分享連結