摘要:我們有時候會有這樣一個需求,當執行耗時腳本時,會執行完這個腳本才會輸出數據,如果沒有處理完,它會將輸出到頁面的內容緩存到內存中,等處理完后才執行,這里,我們需要實時輸出。
flush — 刷新輸出緩沖我們有時候會有這樣一個需求,當執行耗時腳本時,會執行完這個腳本才會輸出數據,如果沒有處理完,它會將輸出到頁面的內容緩存到內存中,等處理完后才執行,這里,我們需要實時輸出。
刷新PHP程序的緩沖,而不論PHP執行在何種情況下(CGI ,web服務器等等)。該函數將當前為止程序的所有輸出發送到用戶的瀏覽器。
flush() 函數不會對服務器或客戶端瀏覽器的緩存模式產生影響。因此,必須同時使用 ob_flush() 和 flush() 函數來刷新輸出緩沖。
個別web服務器程序,特別是Win32下的web服務器程序,在發送結果到瀏覽器之前,仍然會緩存腳本的輸出,直到程序結束為止。
有些Apache的模塊,比如mod_gzip,可能自己進行輸出緩存,這將導致flush()函數產生的結果不會立即被發送到客戶端瀏覽器。
甚至瀏覽器也會在顯示之前,緩存接收到的內容。例如 Netscape 瀏覽器會在接受到換行或 html 標記的開頭之前緩存內容,并且在接受到 標記之前,不會顯示出整個表格。
一些版本的 Microsoft Internet Explorer 只有當接受到的256個字節以后才開始顯示該頁面,所以必須發送一些額外的空格來讓這些瀏覽器顯示頁面內容。
如果需要實時輸出,則需要兩個核心函數ob_flush, flush;
Line to show."; echo str_pad("",4096)." "; ob_flush(); flush(); sleep(2); } echo "Done."; ob_end_flush();
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/25794.html
摘要:運行模式實現進程前,需了解常見的的運行模式通用網關接口模式模式命令行模式模塊模式作為服務器模塊而進程則是使用命令行模式運行的基本實現中提供了一個擴展,可以利用操作系統的調用來實現多進程。 應用場景 一些耗時任務: 大數據表分表后的統計信息功能 分批發送短信或郵件功能 其他可分目標的任務功能(很多種) 所以我們就需要一個常駐內存的任務管理工具,為了保證實時性,一方面我們讓它一直執行任...
摘要:運行模式實現進程前,需了解常見的的運行模式通用網關接口模式模式命令行模式模塊模式作為服務器模塊而進程則是使用命令行模式運行的基本實現中提供了一個擴展,可以利用操作系統的調用來實現多進程。 應用場景 一些耗時任務: 大數據表分表后的統計信息功能 分批發送短信或郵件功能 其他可分目標的任務功能(很多種) 所以我們就需要一個常駐內存的任務管理工具,為了保證實時性,一方面我們讓它一直執行任...
摘要:底層通訊方案優化升級較新版本,由方案調整為方案,執行器內嵌提供服務,調度中心復用容器端口提供服務任務告警邏輯調整,改為通過掃描失敗日志方式觸發。 v2.0.2 Release Notes 1、底層通訊方案優化:升級較新版本xxl-rpc,由JETTY方案調整為NETTY_HTTP方案,執行器內嵌netty-http-server提供服務,調度中心復用容器端口提供服務; 2、任務告警邏...
摘要:下面這句話會轉向中輸出實時輸出問題方法,本質上是多線程的更新內容。在處理上的點擊事件時,事件處理返回之前,其他事件是不能觸發的,界面類似于卡住的狀況。因此,在點擊事件結束后,更新內容的線程才能運行,這樣的效果是內容輸出是非實時的。 1 簡單入門例子 入門例子是從參考文獻2與3中粘過來的內容。 在Swing中,如果需要重定向System.err和System.out到一個JText...
閱讀 683·2021-11-23 09:51
閱讀 3275·2019-08-30 15:54
閱讀 440·2019-08-30 15:52
閱讀 3108·2019-08-30 13:58
閱讀 2912·2019-08-30 13:53
閱讀 2684·2019-08-29 14:18
閱讀 2407·2019-08-27 10:54
閱讀 2364·2019-08-26 18:09