mkdir с несколькими переменными
Я пытаюсь установить MKDIR с несколькими переменными в этом месте: "photos/$username/$rand_dir_name/'file_goes_here'"
, Всякий раз, когда я пытаюсь это сделать, папки не создаются, поэтому изображение не отображается.
Как я могу изменить свой код, чтобы создать папку с пользователем username
в папке с фотографиями, а другая папка в username
папка со значением $rand_dir_name
?
Вот что у меня есть...
$username = $_SESSION['id'];
$chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
$rand_dir_name = substr(str_shuffle($chars), 0, 15);
$location = "photos/$username/$rand_dir_name";
mkdir($location);
Дайте мне знать, если вам нужна дополнительная информация.
1 ответ
mkdir()
по умолчанию создается только "терминальный" каталог, например
mkdir('/foo/bar/baz');
будет работать только если /foo
а также /foo/bar/
уже существует.
Попробуйте рекурсивный вариант:
mkdir('/foo/bar/baz', 0777, TRUE);
^^^^^---this
который говорит mkdir создавать любые "средние" каталоги, которые еще не существуют.