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 создавать любые "средние" каталоги, которые еще не существуют.

Другие вопросы по тегам