手册说它将输出刷新到一个文件中。另外,他们还举了一个例子。
$filename = 'bar.txt';
$file = fopen($filename, 'r+');
rewind($file);
fwrite($file, 'Foo');
fflush($file);
ftruncate($file, ftell($file));
fclose($file);我试着去理解它的必要性。我所做的是:
fflush($file);,并再次运行它。frwite()行更改为fwrite($file, 'Foo'); die();。现在,我不认为使用fflush()有什么意义。
在这个例子中,我看不出有什么必要。你能提供一个fflush()是真正必要的例子吗?
链接:http://php.net/manual/en/function.fflush.php
发布于 2016-09-09 08:52:08
fflush
为了提高效率,当我们调用像fwrite或fputcsv这样的函数时,PHP的核心系统库不一定会立即写入文件。它将它们存储在缓冲区中,并在一段时间后同时存储。
例如,假设您有循环,并且在这个循环中调用fputcsv函数,那么PHP的系统库不一定将其存储到每个循环的文件中。
那么使用fflush有什么意义呢?
但是,为了日志记录的目的,我们需要确保日志尽快被看到,因此最好在每个fflush之后使用fwrite。除了伐木以外,我们不需要强迫冲水。让PHP内部处理效率。
参考文献
此函数强制将所有缓冲输出写入文件句柄所指向的资源。PHP文档
发布于 2016-05-09 15:55:11
弗卢什()提供了与冲洗()相同的必要性,不同之处在于输出被发送到文件而不是浏览器。
基本上,它所做的是强制立即写入数据,而不是将其全部存储在缓冲区中,直到它准备好被写入。这在几种情况下都很有用,例如--使用linux命令tail:(Unix)监视日志。
https://stackoverflow.com/questions/37119672
复制相似问题