Проверка существования файла в PHP

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

Описание функции file_exists($file);

Функция file_exists(); введена в PHP 4. Единственное заметное изменение пришлось на пятую спецификацию языка, когда в качестве расположения файла стало можно указывать протоколы по типу http://, https://, ftp://и обёртки вроде glob://, phar:// и подобных.

В качестве ответа возвращается значение вида «Булев тип», относящейся к простейшему типу хранения данных в программировании. Другими словами, в результате проверки с использованием file_exists();придёт false(«ложь») или true(«истина»).

Из-за особенностей Windows перед macOS и UNIX-системами, если сервер запущен на данной ОС, пути файлов должны указываться через обратный слеш (\), а не обычный (/). Зато в названия каталогов можно добавлять пробелы и заглавные буквы.Также важно отметить, что при запуске скрипта с file_exists();на платформе с 32-битной разрядностью возможны ошибки при проверке документов, чьи размеры превышают 2 гигабайта. Функция также доступна для папок.

Примеры использования

Проверка файла

<?
// Проверим, есть ли в папке /shop/ заглавная страница под названием index.php.
if(file_exists($_SERVER[‘DOCUMENT_ROOT’].»/shop/index.php»)) {
echotrue;
} else {
echofalse;
}
// Результат: 1 либо 0 (зависит от сайта)

Проверка директории по URL

<?
// Проверим, есть ли папка /about/ на внешнем ресурсе
if(file_exists(«https://example.net/about/»)) {
echo»На сайте есть папка about!»;
} else {
echo»На сайте нет папки about! Возможно, её никогда и не было.»;
}
// Результат: папка не найдена

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *