Я пытаюсь создать несколько таких дисков:
@mkdir("photos/$cat/$sku", 0777, true)
он создает первый каталог с разрешениями 0777, но когда он создает второй, он использует 000, поскольку он является perms, поэтому ему не удается создать третью.
Обходной путь это, пожалуйста?
Спасибо, Ричард.
Это решило проблему:
$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)
дорогая, это связано с правами пользователя, пожалуйста, проверьте пользователя, когда вы создаете любой каталог, используя функцию mkdir,
Вы пробовали chmod
каталоги?
mkdir("photos/$cat", 0777, true); chmod("photos", 0777); chmod("photos/$cat", 0777); mkdir("photos/$cat/$sku", 0777); chmod("photos/$cat/$sku", 0777);