2010-10-15 56 views
4

你是什麼意思?flush命令有什麼作用?

「我會在你把所有東西都發給客戶端並刷新它之後再做。

感謝您

+1

當你做*其他刷新*時,它會發生同樣的情況。緩衝區是便盆,它收集所有*輸出*到它。當你完成後,你沖洗它。 – Gordon 2010-10-15 14:42:44

回答

1

http://php.net/flush

刷新任何後端PHP使用(CGI,一個 web服務器等),PHP和 的寫緩衝區。

1

flush

刷新輸出緩衝區

所以在我的閱讀,當你傳送的網頁給客戶端的瀏覽器這意味着什麼。

9

刷新是指在緩衝數據流時涉及的操作。

我們假設一個正常的標準輸出流。每一個字節一到達就打印出來會效率低下,這就是爲什麼輸出通常被緩衝並大塊地「刷新」的原因。這減少了做這種操作的開銷。

那麼這句話的意思是說,只要數據已經準備好發送並且已經通過刷新緩衝區已經有效發送,他就會這樣做。

通常這個操作對於開發者來說是透明的,你可以強制刷新,但你並不明確需要這樣做。

+1

所以它做的是..它收集我的所有數據立即發送,然後立即發送給我的客戶? – 5416339 2010-10-15 14:28:16

+0

如果你在談論一個網頁會發生什麼,當php代碼被解釋時,HTML輸出首先被存儲在一個緩衝區中,然後在客戶端準備就緒時刷新到客戶端。所以基本上是這樣,刷新字節被存儲並且然後立即發送(或者多次發送,但不是每生成一個字節)。 – Jack 2010-10-15 14:30:21

+0

那麼如何沖洗我的內容或融合沖洗標籤..Php.net很難理解! – 5416339 2010-10-15 14:33:55

0

這可能意味着一些不同的事情,具體取決於上下文。我假設你的意思是沖洗一個outbut緩衝區。

輸出緩衝區是輸出在一次發送到客戶端之前臨時存儲的地方。沖洗意味着將存儲的數據發送到客戶端。請參閱文檔ob_flush

3

刷新將任何緩衝輸出打印到客戶端。 您首先打印的所有內容都會進入緩衝區。 如果你願意,你也可以打開明確的緩衝區,這樣沒有任何東西可以到達客戶端,但是你可以將它存儲在緩衝區中以便後期編輯網站或其他東西。 flush可確保將緩衝區中的所有內容發送到客戶端。

相關問題