Im, вероятно, делает что-то очень просто неправильно, но когда я пытаюсь сделать каталог (используя переменную вставки, только что выполненную как последнее имя папки), я получаю ошибку:
Предупреждение: mkdir () [function.mkdir]: Нет такого файла или каталога в / home / blah / blah
- Загрузка php и ошибка внутреннего сервера
- Предотвращение незанятого состояния при загрузке (веб-приложение на iOS)
- Безопасная загрузка изображения с помощью PHP?
- Загрузка фотогалереи getimagesize () warning - имя файла не может быть пустым
- Как создать пункт назначения (Папка) в PHP при использовании move_uploaded_file ()?
с кодом:
if (!is_dir("images/listing-images/rent/'.$insertID.")) { //make new directory with unique id mkdir("images/listing-images/rent/'.$insertID."); }
конечно, директория не существует .. Я пытаюсь сделать это сейчас? смущенный!
У вас есть ошибка в строке:
mkdir("images/listing-images/rent/'.$insertID.");
должно быть:
mkdir("images/listing-images/rent/$insertID");
Это происходит потому, что в вашей файловой системе нет images/listing-images/rent
пути images/listing-images/rent
.
Если вы хотите создать весь путь – просто передайте третий аргумент как true
:
mkdir('images/listing-images/rent/'.$insertID, 0777, true);
Также есть вероятность, что вы сейчас находитесь в неправильном каталоге. Если это так – вам нужно изменить текущий каталог с помощью chdir()
или указать полный путь.
Предполагая, что вы используете PHP> 5.0.0, попробуйте mkdir("path", 0777, true);
чтобы рекурсивно создавать каталоги (см. здесь: http://php.net/manual/en/function.mkdir.php ).
$ upPath = "../uploads/RS/2014/BOI/002"; // полный путь
$ tags = explode ('/', $ upPath); // взорвать полный путь
$ mkDir = "";foreach($tags as $folder) { $mkDir = $mkDir . $folder ."/"; // make one directory join one other for the nest directory to make echo '"'.$mkDir.'"<br/>'; // this will show the directory created each time if(!is_dir($mkDir)) { // check if directory exist or not mkdir($mkDir, 0777); // if not exist then make the directory } }
Вы не должны использовать is_dir (), чтобы проверить, существует ли что-то, вы также хотите file_exists (). Пытаться:
if (file_exists("images/listing-images/rent/$insertID") { mkdir("images/listing-images/rent/$insertID."); }
Приняли '. потому что это похоже на синтаксическую ошибку, но у вас может быть законная причина, чтобы сохранить ее.
Если mkdir все еще терпит неудачу, может быть, что изображения / листинг-изображения / ренты не существуют, вам придется создать это отдельно, если это так.