5 способов проверить существование файла в PHP

В PHP проверка существования файла — обычная задача при операциях обработки файлов. Если вы хотите проверить загрузки пользователей, проверить наличие файлов конфигурации или выполнить любую другую операцию, связанную с файлом, прежде чем продолжить, важно знать, существует ли файл. В этой статье мы рассмотрим пять различных методов проверки существования файла в PHP, а также приведем примеры кода и практические пояснения.

Метод 1: использование file_exists()
Функция file_exists() — это один из самых простых и понятных способов проверить, существует ли файл в PHP. Он возвращает true, если файл существует, и false в противном случае.

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

Метод 2: использование is_file()
Функция is_file() — еще один полезный метод проверки существования файла в PHP. Он не только проверяет существование файла, но и проверяет, является ли он обычным файлом (а не каталогом или символической ссылкой).

$file = 'path/to/file.txt';
if (is_file($file)) {
    echo "File exists!";
} else {
    echo "File does not exist!";
}

Метод 3: использование glob()
Функция glob() позволяет искать файлы, используя шаблоны подстановочных знаков. Указав шаблон файла и пройдя по возвращаемому массиву, вы можете определить, существует ли файл.

$files = glob('path/to/files/*.txt');
if (!empty($files)) {
    echo "Files exist!";
} else {
    echo "Files do not exist!";
}

Метод 4: использование scandir()
Функция scandir() возвращает массив файлов и каталогов в заданном каталоге. Проверив, присутствует ли в массиве искомый файл, вы можете определить его существование.

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

Метод 5: использование file_get_contents()
Хотя функция file_get_contents() в основном используется для чтения содержимого файла, ее также можно использовать для проверки существования файла. Если функция возвращает false, это означает, что файл не существует.

$file = 'path/to/file.txt';
if (file_get_contents($file) !== false) {
    echo "File exists!";
} else {
    echo "File does not exist!";
}

В этой статье мы рассмотрели пять различных методов проверки существования файла в PHP. В зависимости от ваших конкретных требований вы можете выбрать метод, который лучше всего соответствует вашим потребностям. Независимо от того, используете ли вы функцию file_exists(), функцию is_file(), функцию glob(), функцию scandir() или даже переназначаете функцию file_get_contents(), теперь у вас есть множество вариантов проверки существования файлов в ваших проектах PHP.