Почему fopen с параметром 'a+' иногда возвращает ошибку No such file or directory?

Статус
В этой теме нельзя размещать новые ответы.

SoaringHawk

Постоялец
Регистрация
25 Апр 2009
Сообщения
61
Реакции
2
Вот строчка в скрипте:
PHP:
if($fp_rep = fopen($log_fn, 'a+'))
и изредка в логах проскакивает ошибка (в этой строке:(
PHP Warning: fopen(<путь_к_файлу>) [<a href='function.fopen'>function.fopen</a>]: failed to open stream: No such file or directory in <путь_к_скрипту> 309
Как это может быть, если аргумент "a+" говорит функции, что при отсутствии файла его надо создать? :nezn:
 
Вот поэтому я и написал изредка, т.е. и директория и сам файл существуют, запись в этот файл идет постоянно, но вот в определенный, не понятный момент, проскакивает эта ошибка.
 
$log_fn прописана в скрипте или формируется динамически? Если формируется, то как?
 
Иногда шаг вперёд является следствием пинка в зад © :)

Нашел где ошибка.
Абсолютный путь строил с помощью константы:
PHP:
define('CURDIR', dirname(__FILE__));
Запись в этот файл велась из нескольких скриптов один из которых лежал во вложенной папке. А т.к. вызов fopen был через метод класса, то при ошибке ссылалось на первый скрипт. Я этого и не заметил, что в самом классе метод принимал в качестве параметра путь сформированный в скрипте, который лежал во вложенной папке.
Недоглядел при копипасте.:ah:

PS В этот файл сбрасываются логи из разных скриптов, поэтому когда он начал пополнятся, сразу-то и не заметил, что не везде путь корректно формировался...:confused:
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху