如何禁用PHP';s文件读/写缓冲区?

如何禁用PHP';s文件读/写缓冲区?,php,Php,如果我在文件中写入一行,然后刷新缓冲区,然后写入第二行,然后查找开头并读取文件——它只读取第一行。好像它不认为我写了第二行 要复制的代码: $fh = fopen('filename.dat', 'r+'); stream_set_write_buffer($fh, 0); stream_set_read_buffer($fh, 0); fwrite($fh, "Testing 123.\n"); fflush($fh); fwrite($fh, "Testing 456.\n"); fflus

如果我在文件中写入一行,然后刷新缓冲区,然后写入第二行,然后查找开头并读取文件——它只读取第一行。好像它不认为我写了第二行

要复制的代码:

$fh = fopen('filename.dat', 'r+');
stream_set_write_buffer($fh, 0);
stream_set_read_buffer($fh, 0);
fwrite($fh, "Testing 123.\n");
fflush($fh);
fwrite($fh, "Testing 456.\n");
fflush($fh);
fseek($fh, 0);
echo fgets($fh, 26);
fclose($fh);
这将输出

"Testing 123.\n" 
而不是

"Testing 123.\nTesting 456.\n".
我使用的是PHP5.4.16

救命啊!这让我快发疯了

读取一行,即如果遇到换行符/回车符,则停止读取


您可能对

DOH感兴趣!我真不敢相信我错过了。谢谢