2010-10-15 111 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可确保将缓冲区中的所有内容发送到客户端。