За последние 24 часа нас посетили 18330 программистов и 1634 робота. Сейчас ищут 1704 программиста ...

Попытак записи в открытый файл

Тема в разделе "Прочие вопросы по PHP", создана пользователем zorba-buddha, 12 мар 2009.

  1. zorba-buddha

    zorba-buddha Активный пользователь

    С нами с:
    28 мар 2008
    Сообщения:
    42
    Симпатии:
    0
    Адрес:
    Подольск
    Привет.

    Подскажите, что произойдёт, если скрипт попытается fopen и fwrite в файл, который уже занят тем же процессом от другого скрипта? Самому смоделировать не удалось...
    Будет ли fopen, если файл уже открыт другим скриптом, ждать? или ругаться, что файл недоступен?
    Если ждать - всё отлично, если ругаться - могу схватить, но как заставить его подождать? Цикл - не решение проблемы, есть ли какой таймаут для этого? Не нашёл среди функций.
     
  2. Sergey89

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

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Этот fwrite будет записывать данные в файл параллельно с другими. http://php.net/flock
     
  3. zorba-buddha

    zorba-buddha Активный пользователь

    С нами с:
    28 мар 2008
    Сообщения:
    42
    Симпатии:
    0
    Адрес:
    Подольск
    понял, как во время работы скрипта отложить действие? как таймаут устроить?
     
  4. zorba-buddha

    zorba-buddha Активный пользователь

    С нами с:
    28 мар 2008
    Сообщения:
    42
    Симпатии:
    0
    Адрес:
    Подольск
    sleep! ёкарный бабай, всё, всем спасибо, определился...
     
  5. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Возможно, будет работать:
    PHP:
    1. <?php
    2. while (true) {
    3.      if (is_writable($filename)) {
    4.           ....
    5.           break;
    6.      }
    7. }
    sleep - это минимум секунда, это слишком много для записи в файл. В таком случае больше подойдет http://php.net/usleep
     
  6. Alost

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

    С нами с:
    7 фев 2009
    Сообщения:
    335
    Симпатии:
    0
    Адрес:
    Город вокруг невы
    В мануале ПХП прочти про проверку файла на свободность,и блокировку.