mkdir功能无法正常工作

时间:2013-10-28 08:41:07

标签: php

我的文件夹层次结构为Bucharest / Waterfall / a.php。我在服务器上创建目录的代码片段如下:

if(!is_dir($this->folder)){  
                $old_umask = umask(0);
                mkdir($this->folder, 0777);  
                umask($old_umask);
                }
                chmod($this->folder, 0777);

            // Moves current file to upload destination
            if(move_uploaded_file($current['tmp_name'],$uploadFile))
                return true;

所有文件都上传到服务器。现在的问题是父文件夹,即。布加勒斯特拥有权限755,而内部文件夹拥有权限777. $ this->文件夹具有布加勒斯特/瀑布的价值。它给布加勒斯特755个许可,同时777允许瀑布。根据我的代码,777的许可也应该给布加勒斯特。

我也试过chmod,但一切都是徒劳的。我想给父文件夹提供完全权限。

2 个答案:

答案 0 :(得分:1)

is_dir($this->folder);告诉您该文件不是目录,而不是它不存在。当然,如果目录已经存在,你就不能使用mkdir。

此外,如果目录已经存在,根据documentation chmod,如果运行php的用户与拥有该目录的用户不同,则chmod将不会执行任何操作。

答案 1 :(得分:0)

您正在检查子文件夹的文件夹吗?如果是这样,请创建父文件夹firts。

mkdir('/tmp/test1/test2/test3/test4');
如果'/ tmp / test1 / test2 / test3'不存在,

将失败