Как я могу проверить, существует ли какая-либо директория и если она не создается в PHP?Как проверить, существует ли каталог на PHP?
ответ
Попробуйте это:
$filename = "/tmp";
if (!file_exists($filename))
echo $filename, " does not exist";
elseif (!is_dir($filename))
echo $filename, " is not a directory";
else
echo "Directory ", $filename, " already exists";
file_exists
проверяет, существует ли путь/файл и is_dir
проверяет, является ли данное имя файла является каталогом.
Edit:
создать каталог потом вызовите
mkdir($filename);
Вызов file_exists (...) не требуется. is_dir (...) вернет false, если он не существует. –
Я бы сказал то же самое, но он сказал: «is_dir не работает для меня» – Strae
'file_exists' должно быть вызвано в любом случае, если следующим шагом будет создание каталога с заданным именем. Если бы был файл с именем точно так же, как целевой каталог, вызов 'mkdir' потерпел бы неудачу, хотя« каталог »не был там ... –
Попробуйте это:
$dir = "/path/to/dir";
if(is_dir($dir) == false)
mkdir($dir);
Если вы хотите полный путь быть создан (если нет) , установите для возвращаемого параметра значение true.
Для получения дополнительной информации см. documentation of mkdir.
Вы были быстрее меня. :) –
Чтобы расширить ответ выше на основе замечаний спрашивающих по:
$filename = "/tmp";
if (!is_dir($filename)) {
mkdir($filename);
}
Вы должны использовать mkdir()
на самом деле сделать каталог.
Использование Это:
если (file_exists ("Справочник путь") & & is_dir ("Путь к каталогу")) {
// Ваш код;
}
PS: is_dir не работает для меня: – streetparade
почему is_dir не работает для вас? – Strae
Какая ошибка возникает при использовании 'is_dir'? –