mkdir给出一个'文件存在'警告,尽管我在尝试创建目录之前调用了is_dir


mkdir giving a 'File exists' warning, even though i call is_dir before attempting to create diriectory

好吧,没有太多要添加的,那么在标题中已经有什么了,除了可能实际的代码位:

    $dir = dirname($local);// $local is absolute path to the file
    if(!is_dir($dir));
        mkdir($dir, 0755, true); //if $dir is not valid dir, lets create one

那么,你知道我是如何得到文件存在警告的吗?

如果有帮助的话,下面是实际的警告:

PHP Warning:  mkdir(): File exists in       /var/www/Import/Photo.php on line 67

is_dir()仅告诉您命名路径是否为目录。还有其他东西会阻止您使用mkdir(),例如常规文件,符号链接……您可能应该将您的测试替换为这样的内容。

if (!file_exists($dir))

同样,在if语句之后的终止分号意味着mkdir()实际上没有被这个测试所保护;