За последние 24 часа нас посетили 70654 программиста и 1602 робота. Сейчас ищут 1019 программистов ...

flush

Тема в разделе "PHP для новичков", создана пользователем kilogram, 26 май 2012.

  1. kilogram

    kilogram Активный пользователь

    С нами с:
    19 мар 2012
    Сообщения:
    116
    Симпатии:
    0
    Читаю в книге, там дошел до функции fflush. В документации такой пример:
    Код (Text):
    1. <?php
    2. $filename = '1.txt';
    3.  
    4. $file = fopen($filename, 'r+');
    5. rewind($file);
    6. fwrite($file, 'Foo');
    7. fflush($file);
    8. ftruncate($file, ftell($file));
    9. fclose($file);
    10. ?>
    Я что-то так и не увидел смысла в функции fflush. Что произошло после вот этого fflush($file);?
     
  2. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    from http://www.php-spravka.ru/show/8/8/2/

    Кстати, насчет выигрыша сомнительно.

    Добавлено спустя 3 минуты 43 секунды:
    ещё
    http://www.gcmsite.ru/index.php?pg=art&id=php-hdd
     
  3. kilogram

    kilogram Активный пользователь

    С нами с:
    19 мар 2012
    Сообщения:
    116
    Симпатии:
    0
    То есть после этой строки:

    Код (Text):
    1. fflush($file);
    текст foo пошел записываться сразу на ПЗУ, а не на ОЗУ в кэш(др.словами буфер на ОЗУ)?
     
  4. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    :) доставил!
    не в ПЗУ, а на диск. имеет смысл применять в сочетании с flock. в доках про лок есть примеры. когда что-то пишешь в файл желательно чтобы
    1) никто не писал туда в то же самое время
    2) те кто будет читать видели конечный результат, а не пол дела — вот тут нам нужен флаш!
    поэтому сценарий такой: открываем, лочим, пишем, сбрасываем буфер, разлочиваем, закрываем.
     
  5. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    При закрытии буффер автоматом не скинется?
    Имхо он скидывается вобще по мере наличия свободного времени под эту операцию.