2010-01-22 3 views
0

Как я могу проверить, существует ли какая-либо директория и если она не создается в PHP?Как проверить, существует ли каталог на PHP?

+0

PS: is_dir не работает для меня: – streetparade

+0

почему is_dir не работает для вас? – Strae

+0

Какая ошибка возникает при использовании 'is_dir'? –

ответ

7

Попробуйте это:

$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); 
+4

Вызов file_exists (...) не требуется. is_dir (...) вернет false, если он не существует. –

+1

Я бы сказал то же самое, но он сказал: «is_dir не работает для меня» – Strae

+1

'file_exists' должно быть вызвано в любом случае, если следующим шагом будет создание каталога с заданным именем. Если бы был файл с именем точно так же, как целевой каталог, вызов 'mkdir' потерпел бы неудачу, хотя« каталог »не был там ... –

1

Попробуйте это:

$dir = "/path/to/dir"; 
if(is_dir($dir) == false) 
    mkdir($dir); 

Если вы хотите полный путь быть создан (если нет) , установите для возвращаемого параметра значение true.

Для получения дополнительной информации см. documentation of mkdir.

+0

Вы были быстрее меня. :) –

1

Чтобы расширить ответ выше на основе замечаний спрашивающих по:

$filename = "/tmp"; 
if (!is_dir($filename)) { 
    mkdir($filename); 
} 

Вы должны использовать mkdir() на самом деле сделать каталог.

0

Использование Это:

если (file_exists ("Справочник путь") & & is_dir ("Путь к каталогу")) {

// Ваш код;

}