|
|
|
| Читаю в книге, там дошел до функции fflush. В документации такой пример:
<?php
$filename = '1.txt';
$file = fopen($filename, 'r+');
rewind($file);
fwrite($file, 'Foo');
fflush($file);
ftruncate($file, ftell($file));
fclose($file);
?>
|
Я что-то так и не увидел смысла в функции fflush. Что произошло после вот этого fflush($file);? | |
|
|
|
|
|
|
|
для: kilogram
(26.05.2012 в 19:14)
| | То есть после этой строки:
текст foo пошел записываться сразу на ПЗУ, а не на ОЗУ в кэш(др.словами буфер на ОЗУ)? | |
|
|
|
|
|
|
|
для: kilogram
(26.05.2012 в 19:14)
| | Тут смысла никакого нет... если бы файл оставался бы открытым, а скрипт продолжил бы работу, тогда явный сброс информации из буфера на диск имел бы смысл, за 2 оператора до закрытия файла этого можно не делать. Вообще системный вызов flush и его оболочки начинают играть роль в более долгоиграющих программах, нежели скрипт, ограниченный по времени выполнения 30 секундами. Когда у вас идет расчет 2 недели, а на итерацию уходит часов 18, а половина промежуточного ответа по последней итерации осталась в буфере и чтобы понять, туда идет расчет или нет нужно пять ждать 18 часов, когда ответ на диск вытолкнет следующая итерация... вот тут flush с различными матерными словами звучит очень часто :) | |
|
|
|