手册说它将输出刷新到文件.另外他们举了一个例子.
$filename = 'bar.txt';
$file = fopen($filename, 'r+');
rewind($file);
fwrite($file, 'Foo');
fflush($file);
ftruncate($file, ftell($file));
fclose($file);
我试图理解它的必要性.我做的是以下内容:
>我创建了一个bar.txt文件
>我运行了脚本
>我打开bar.txt并在其中看到’Foo’,然后我再次将文件清空.
>然后……我删除了fflush($file);从脚本再次运行它.
>结果完全一样.我又把文件弄空了.
>之后我将frwite()行改为fwrite($file,’Foo’);死();
>再次……相同的结果……里面有’Foo’的文件.
现在,我没有看到使用fflush()的重点.
在这个例子中,我看不出fflush的必要性.你能提供一个真正需要fflush()的例子吗?
最佳答案:
fflush()提供了与flush()相同的必要性,不同之处在于输出被发送到文件而不是浏览器.
基本上它正在做的是强制立即写入数据,而不是将它们全部存储在缓冲区中,直到它准备好被写入.这在几种情况下很有用,例如 – 使用linux命令tail:https://en.wikipedia.org/wiki/Tail_(Unix)监视日志.
标签:php,filesystems
来源: https://codeday.me/bug/20190516/1115565.html