当目录已经存在(在Windows上)时,mkdir返回false


mkdir returns false when the directory already exists ( on Windows )

PHP版本为5.5.12(WAMP 2.5下)

我想递归地创建一个directory,目前它在我的开发计算机Windows7上,但生产系统是Linux:

define('RP_MAIN', $_SERVER['DOCUMENT_ROOT'] . 'impots/');
$dir = RP_MAIN."data/synchro/webToAndroid/";
if (mkdir($dir, 0777, true)) {
   ... // creating text files with data inside the webToAndroid folder
} else {
    echo "cannot create";
}

在第一次运行脚本时会创建目录,但当我重新运行脚本时,代码执行会转到else块!

那么,如何使mkdir始终取得成功呢?

这样做:

define('RP_MAIN', $_SERVER['DOCUMENT_ROOT'] . 'impots/');
$dir = RP_MAIN."data/synchro/webToAndroid/";
if(is_dir($dir)){
   echo 'directory already exists';
}
else if (mkdir($dir, 0777, true)) {
  ... // creating text files with data inside the webToAndroid folder
} else {
   echo "cannot create";
}