Php if file exists else

PHP File Exists

Summary: in this tutorial, you will learn how to check if a file exists in PHP using the file_exists() , is_file() , is_readable() , and is_writable() functions.

PHP provides some useful functions that allow you to check if a file exists. Let’s examine these functions and how to use them effectively.

Check if a file exists using the file_exists() function

To check if a file exists, you use the file_exist() function:

file_exists ( string $filename ) : boolCode language: PHP (php)

The file_exists() function accepts a filename and returns true if the file exists; otherwise it returns false .

The following example uses the file_exists() function to check if the file readme.txt exists in the current directory:

 $filename = 'readme.txt'; if (file_exists($filename)) < $message = "The file $filename exists"; > else < $message = "The file $filename does not exist"; > echo $message;Code language: HTML, XML (xml)

If the readme.txt exists in the same directory of the script, you’ll see the following message:

The file readme.txt existsCode language: CSS (css)

…otherwise, you’ll see a different message:

The file readme.txt does not existCode language: CSS (css)

Note that the $filename can be also a path to a directory. In this case, the file_exists() function returns true if the directory exists.

Check if a file exists using the is_file() function

If you want to check if a path is a file (not a directory) and exists in the file system, you can use the is_file() function.

The is_file() function accepts a $filename and returns true if the $filename is a file and exists:

is_file ( string $filename ) : boolCode language: PHP (php)

The following example uses the is_file() function to check if the file readme.txt exists:

 $filename = 'readme.txt'; if (is_file($filename)) < $message = "The file $filename exists"; > else < $message = "The file $filename does not exist"; > echo $message;Code language: HTML, XML (xml)

Check if a file exists and readable

In practice, you often want to check if a file exists before reading its contents. To check if a file exists and is readable, you use the is_readable() function:

is_readable ( string $filename ) : boolCode language: PHP (php)

The is_readable() function returns true if the $filename exists and readable, or false otherwise. Note that the $filename can be a directory.

The following example uses the is_readable() function to check if the readme.txt file exists and readable:

 $filename = 'readme.txt'; if (is_readable($filename)) < $message = "The file $filename exists"; > else < $message = "The file $filename does not exist"; > echo $message; Code language: HTML, XML (xml)

Check if a file exists and writable

Before writing to a file, you need to check the file exists and is writable. In this case, you can use the is_writable() function:

is_writable ( string $filename ) : boolCode language: PHP (php)

The is_writable() function returns true if the $filename exists and writable, or false otherwise.

The following example uses the is_writable() function to check the readme.txt file exists and writable:

 $filename = 'readme.txt'; if (is_writable($filename)) < $message = "The file $filename exists"; > else < $message = "The file $filename does not exist"; > echo $message;Code language: HTML, XML (xml)

Summary

  • Use the file_exists() function to check if a file exists.
  • Use the is_file() function to check if a path is a regular file, not a directory, and that file exists.
  • Use the is_readable() function to check if a file exists and readable.
  • Use the is_writable() function to check if a file exists and writable.

Источник

Проверка существования файла в 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! Возможно, её никогда и не было.»;
>
// Результат: папка не найдена

Похожие записи:

Источник

Читайте также:  Java android manifest xml
Оцените статью