Проверка существования каталога в PHP: методы и примеры

Метод 1: is_dir()
Самый простой способ проверить существование каталога в PHP — использовать функцию is_dir(). Он принимает путь к каталогу в качестве параметра и возвращает true, если каталог существует, и falseв противном случае. Вот пример:

$directory = '/path/to/directory';
if (is_dir($directory)) {
    echo "The directory exists!";
} else {
    echo "The directory does not exist.";
}

Метод 2: file_exists()
Другой метод, который вы можете использовать, — это функция file_exists(). Эту функцию можно использовать для проверки существования как файлов, так и каталогов. Если указанный путь указывает на каталог, он вернет true. Вот пример:

$directory = '/path/to/directory';
if (file_exists($directory)) {
    echo "The directory exists!";
} else {
    echo "The directory does not exist.";
}

Метод 3: opendir()
Функция opendir()открывает дескриптор каталога, позволяя выполнять операции с каталогом. Если каталог не существует, он вернет false. Вот пример:

$directory = '/path/to/directory';
if ($handle = opendir($directory)) {
    echo "The directory exists!";
    closedir($handle);
} else {
    echo "The directory does not exist.";
}

Метод 4: glob()
Функция glob()в основном используется для сопоставления с образцом, но ее также можно использовать для проверки существования каталога. Если каталог существует, он вернет массив совпадающих файлов и каталогов. Вот пример:

$directory = '/path/to/directory';
if (count(glob($directory)) > 0) {
    echo "The directory exists!";
} else {
    echo "The directory does not exist.";
}

Метод 5: scandir()
Функция scandir()возвращает массив файлов и каталогов в заданном каталоге. Если каталог не существует, он вернет false. Вот пример:

$directory = '/path/to/directory';
if ($files = scandir($directory)) {
    echo "The directory exists!";
} else {
    echo "The directory does not exist.";
}

Это всего лишь несколько методов, которые можно использовать для проверки существования каталога в PHP. У каждого метода есть свои преимущества, поэтому выберите тот, который соответствует вашим конкретным потребностям.