0

我的文件夹层次结构为 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->folder 的值为布加勒斯特/瀑布。它向布加勒斯特授予 755 许可,而向瀑布授予 777 许可。根据我的代码,777 权限也应该授予布加勒斯特。

我也尝试过 chmod 但都是徒劳的。我想授予父文件夹的完全权限。

4

2 回答 2

1

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

此外,如果目录已经存在,根据文档,如果运行 php 的用户与拥有该目录的用户不同,则 chmod 将不会做任何事情。

于 2013-10-28T08:47:29.147 回答
0

您正在检查的文件夹是否已经是子文件夹?如果是这样,请先创建父文件夹。

IE

mkdir('/tmp/test1/test2/test3/test4');

如果 '/tmp/test1/test2/test3' 不存在,将失败

于 2013-10-28T08:52:38.560 回答