Другие посты предложили использовать абсолютный (полный) путь. Я, кажется, сделать это.
Еще один пост допускается с использованием виртуального сервера. Я этого не делаю.
Это мой код
$dt=date("Y.m.d");
$tm=date("H:i:s");
$ip=$_SERVER['REMOTE_ADDR'];
$variables_directory='variables';
$root_path=dirname($_SERVER['SCRIPT_FILENAME']);
$pathdir0=$root_path.'/'.$variables_directory;
$old_umask = umask(0);
if(!file_exists($pathdir0))@mkdir($pathdir0, 0777,true);
$pathdir1=$pathdir0.'/'.$dt;
if(!file_exists($pathdir1))@mkdir($pathdir1, 0777,true);
$pathdir2=$pathdir1.'/'.str_ireplace(':','',$tm);
if(!file_exists($pathdir2))@mkdir($pathdir2, 0777,true);
$pathdir3=$pathdir2.'/'.$ip;
if(!file_exists($pathdir3))@mkdir($pathdir3, 0777,true); // <<<<<
Этот код существует на действующем сайте, который использует обработку ошибок для обнаружения ошибок и предупреждений. Я часто получаю следующее необработанное предупреждение.
Линия: 4956
Сообщение: mkdir () [function.mkdir]: файл существует
Я выделил строку 4956 в приведенном выше разделе кода с <<<<<,
Эти предупреждающие сообщения, которые мне отправляют по электронной почте, действительно раздражают.
Любые идеи о том, как остановить возникновение условия?
Задача ещё не решена.
Других решений пока нет …