Мне интересно, что я делаю неправильно. Я внутри PATH, и я хочу создать папку внутри PATH. Я хочу проверить, существует ли папка, и если нет, создайте ее. Получение имени папки из поля ввода с именем «dirname».
if (isset($_POST['createDir'])) { //get value of inputfield $dir = $_POST['dirname']; //set the target path ?? $targetfilename = PATH . '/' . $dir; if (!file_exists($dir)) { mkdir($dir); //create the directory chmod($targetfilename, 0777); //make it writable } }
Это может быть хорошей идеей, чтобы убедиться, что каталог, который вы обрабатываете, действительно является каталогом. Этот код работает … редактируйте, как вам угодно.
define("PATH", "/home/born05/htdocs/swish_s/Swish"); $test = "set"; $_POST["dirname"] = "test"; if (isset($test)) { //get value of inputfield $dir = $_POST['dirname']; //set the target path ?? $targetfilename = PATH . '/' . $dir; if (!is_file($dir) && !is_dir($dir)) { mkdir($dir); //create the directory chmod($targetfilename, 0777); //make it writable } else { echo "{$dir} exists and is a valid dir"; }
Отредактировано: комментарий был хорошим намеком;)
Вы должны использовать
!is_dir($dir)
вместо
!file_exists($dir)
это не файл, это каталог!
Удачи!
Вы можете использовать is_dir () .
@codeworxx file_exists можно также использовать для проверки каталога.