我试图创建一些目录,如下所示:
@mkdir("photos/$cat/$sku", 0777, true)
它创建了第一个权限为0777的目录,但当它创建第二个目录时,它使用000作为它的权限,所以它无法创建第三个目录。
有什么解决方法吗?
谢谢, Richard.
我试图创建一些目录,如下所示:
@mkdir("photos/$cat/$sku", 0777, true)
它创建了第一个权限为0777的目录,但当它创建第二个目录时,它使用000作为它的权限,所以它无法创建第三个目录。
有什么解决方法吗?
谢谢, Richard.
问题已解决:
$a = @mkdir("photos/$cat/", 0777);
@chmod("photos/$cat/", 0777);
$b = @mkdir("photos/$cat/$sku/", 0777);
@chmod("photos/$cat/$sku/", 0777);
但为什么不能在mkdir上使用递归?
我做了这个,它完美地运行:
if (!is_dir($path)) {
$dirs = explode('/', $path);
$i = 0;
$subdir = '';
foreach ($dirs as $dir) {
if($i > 0){$dir = '/' . $dir;}
$subdir .= $dir;
if(!is_dir(DIR_CACHE . $subdir)){@mkdir(DIR_CACHE . $subdir);@chmod(DIR_CACHE . $subdir, 0777);}
$i++;
}
}
所以你需要做的就是定义你的路径($path = photos/$cat/$sku)
你尝试过使用chmod
更改目录的权限吗?
mkdir("photos/$cat", 0777, true);
chmod("photos", 0777);
chmod("photos/$cat", 0777);
mkdir("photos/$cat/$sku", 0777);
chmod("photos/$cat/$sku", 0777);