file_exists возвращает false после /usr/bin/convert

Некоторые миниатюры создаются на сервере с помощью shell_exec("/usr/bin/convert -thumbnail..), файлы создаются на сервере правильно, но file_exists возвращает false в течение нескольких секунд после создания миниатюр.

Если я добавлю sleep(5) перед file_exists, то file_exists вернет true.

Почему file_exists возвращает false?


person morandi3    schedule 03.07.2013    source источник
comment
А какой у тебя вопрос?   -  person Anigel    schedule 03.07.2013
comment
Почему file_exists возвращает false?!   -  person morandi3    schedule 03.07.2013
comment
Какая у вас файловая система? Вы уверены, что используете shell_exec?   -  person rr-    schedule 03.07.2013
comment
Файловая система на сервере ext3. Да, используется shell_exec.   -  person morandi3    schedule 03.07.2013


Ответы (1)


Если добавленный между ними sleep(5) означает, что создание файла занимает время, это означает, что для file_exists() есть файл, который создается, и его создание находится в процессе (поскольку file_exists проверяет его физическое присутствие). Попробуйте добиться успеха от shell_exec(), и только если это вернет true, переходите к операции гнезда.

if ( shell_exec("/usr/bin/convert -thumbnail..) )
    file_exists(FILE);
person Govind Totla    schedule 04.07.2013