Может ли file_exists не сработать при определенных обстоятельствах?

NikolayN

Новичок
Доброго времени суток.
В коде стоит проверка:

if(!file_exists(ПОЛНЫЙ ПУТЬ К ФАЙЛУ))
{
$fp = fopen(ПОЛНЫЙ ПУТЬ К ФАЙЛУ', "w");
fputs ($fp,$tlnk);
fclose ($fp);
}

если файла нет, то создать его с определенными данныыми.

Однажды замечаю, что куча файлов пересоздана заново (по содержимому файлов увидел).

Могло ли это произойти из за глюков ФС или загрузки диска?
Так как условия однозначные на создание, и путь указан полный.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
могло
* из-за одновременных обращений нескольких скриптов к одному файлу, если между file_exists и fopen успел сработать другой скрипт
* из-за задержки файловой системы - например, NFS
* при partial consistency - например, Amazon S3
* откат журнализируемой фс при сбое
 

fixxxer

К.О.
Партнер клуба
Глюки не в ФС, а в твоем коде: как уже указал grigori в п.1, между file_exists и fopen могло произойти что угодно. Делай за одну операцию, см. документацию на fopen про 'x'.
 
Сверху