大家好,我遇到这样一个问题<?php
 $old=umask(0); 
 mkdir('/aa/cc/',0777);
 umask($old);
?>这段代码 在本地测试 第一次运行没有提示 但是也不会创建文件夹 aa和cc  第二次运行就会出现下面的提示
Warning: mkdir() [function.mkdir]: File exists把这段代码在服务器上跑的话  会提示
Warning: mkdir() [function.mkdir]: No such file or directory
在网上找了下 有的说 mkdir 只能建一个目录 就是说只能 mkdir('/aa/',0777)  这样 
<?php
 $old=umask(0); 
 mkdir('/aa/',0777);
 umask($old);
?>
但是这样运行还是出现 Warning: mkdir() [function.mkdir]: File exists 这样的错误提示 
只有  mkdir('aa/',0777); 这样才能建文件夹  能不能给我解释下 原因呀 谢谢大家了

解决方案 »

  1.   


    mkdir($dir);
    chmod($dir,0777);
    分开试试
      

  2.   

    JSPerl
    还是不可以 还是提示
    Warning: mkdir() [function.mkdir]: File exists
      

  3.   

    File exists
    文件已存在!
      

  4.   

    xuzuning
    文件没有建立成功  文件夹里不显示 这个文件
      

  5.   

    './aa/' 这样也是可以建立的。'/aa/'这个可能是指在根目录建立aa文件夹。你查看下根目录有aa文件夹吗?
      

  6.   

    jordan102
    根目录下 是没有 aa 这个文件夹的 
      

  7.   


    <?php
     $old=umask(0); 
     mkdir('/aa/cc/',0777);
     umask($old);
    ?>
    mkdir() 只能在已经存在的目录中创建创建文件夹(即父级必须有才行)。
    即当你的文件夹aa存在时,才可以成功创建cc文件夹如:mkdir('/aa/cc/',0777);//如果你的代码文件位于D:/test/mk文件夹下,则此mkdir命令创建的目录后,所创建文件夹于D盘下,即D:/aa/cc(前提,文件夹aa已经存在,要创建文件夹cc)
      

  8.   

    如果有权限 你可以这样建立
    exec("mkdir -p /aa/cc");
    这个样子及时aa目录不存在 也会先建立aa 在建立cc的
      

  9.   

    mkdir()函数有三个参数。你再加一个true(忘了是第二个还是第三个了)。
    mkdir($dir,0777,true)
    或者mkdir($dir,true,0777)