php mkdir s не работает

Итак, у меня есть довольно простой код предисловия для создания каталога с именем, которое вводит пользователь, но он просто не будет создаваться.
Папка, в которой я хочу ее создать, является подпапкой.
Когда я тестирую его локально, он работает просто отлично, но затем на сервере возникает проблема.
Может кто-нибудь мне помочь ?

$title = str_replace(" ", "_", $_POST['title']);
if (!is_dir("uploads/".$title)){
mkdir("uploads/".$title, 0777);

Я думаю, это связано с пути? Но я просто не мог понять почему.

Спасибо, ребята

Крис

0

Решение

Для большинства хостинг-провайдеров вы должны указать полный путь, а не относительный:

$root = dirname(__FILE__); // or whatever what points to root dir

$target = $root.'/uploads/'.$title; // save to a variable, to not repeat

if (!is_dir($target) {
mkdir($target, 0777);
}
1

Другие решения

Поэтому, проверив несколько возможностей (спасибо за вашу помощь, ребята), я понял, что моя программа ftp неправильно отображает папку загрузки.
Это означает, что при проверке папки загрузки через интерфейс хост-сервера созданная папка действительно появилась. Но когда я проверил через свою программу ftp, чтобы увидеть, была ли создана папка, ее там не было.
Так что должна быть какая-то проблема, которая не позволяет моей программе ftp показывать созданную папку …
Я понятия не имею, почему это происходит, но тем не менее код работает так:

$target = "uploads/".$title; // save to a variable, to not repeat

if (!is_dir($target)) {
mkdir($target);
chmod($target, 0777);}

Так что спасибо за помощь, ребята.

Ура Крис

0

По вопросам рекламы [email protected]