我的文件夹层次结构为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,但一切都是徒劳的。我想给父文件夹提供完全权限。
答案 0 :(得分:1)
is_dir($this->folder);
告诉您该文件不是目录,而不是它不存在。当然,如果目录已经存在,你就不能使用mkdir。
此外,如果目录已经存在,根据documentation chmod,如果运行php的用户与拥有该目录的用户不同,则chmod将不会执行任何操作。
答案 1 :(得分:0)
您正在检查子文件夹的文件夹吗?如果是这样,请创建父文件夹firts。
即
mkdir('/tmp/test1/test2/test3/test4');
如果'/ tmp / test1 / test2 / test3'不存在,将失败