Если я пишу строку в файл, затем очищаю буфер, а затем записываю вторую строку, а затем ищем начало и читаем файл - он читает только первую строку. Это похоже на то, что я не думаю, что написал вторую строчку.Как отключить буферы чтения/записи файлов 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");
fflush($fh);
fseek($fh, 0);
echo fgets($fh, 26);
fclose($fh);
Это будет выводить ...
"Testing 123.\n"
вместо
"Testing 123.\nTesting 456.\n".
Я использую PHP 5.4.16.
Помощь! Это сводит меня с ума!
DOH! Не могу поверить, что я пропустил это. Благодаря! –