file_exists — Проверяет наличие указанного файла или каталога | Руководство по PHP
Вернуться к: Файловая система
(PHP 4, PHP 5, PHP 7)
file_exists — Проверяет наличие указанного файла или каталога
Описание
bool file_exists ( string $filename
)
Список параметров
-
filename
Путь к файлу или каталогу.
На платформах Windows, для проверки наличия файлов на сетевых ресурсах, используйте имена, подобные //computername/share/filename или \\computername\share\filename.
Возвращаемые значения
Возвращает TRUE
, если файл или каталог, указанный параметром filename
, существует, иначе возвращает FALSE
.
Замечание:
Данная функция возвращает
FALSE
для символических ссылок, указывающих на несуществующие файлы.
Внимание
Если файлы недоступны из-за ограничений, налагаемых
безопасным режимом,
то данная функция вернет FALSE
. Однако, эти файлы все еще могут быть
подключены, если они
располагаются в каталоге
safe_mode_include_dir.
Замечание:
Проверка происходит с помощью реальных UID/GID, а не эффективных идентификаторов.
Замечание: Так как тип integer в PHP является целым числом со знаком и многие платформы используют 32-х битные целые числа, то некоторые функции файловых систем могут возвращать неожиданные результаты для файлов размером больше 2ГБ.
Примеры
if (file_exists($filename)) { <?php
$filename = '/path/to/foo.txt';
echo "Файл $filename существует";
} else {
echo "Файл $filename не существует";
}
?>
Ошибки
В случае неудачного завершения работы генерируется ошибка уровня E_WARNING
.
Примечания
Замечание: Результаты этой функции кэшируются. Более подробную информацию смотрите в разделе clearstatcache().
Подсказка
Начиная с PHP 5.0.0, эта функция также может быть использована с некоторыми обертками url. Список оберток, поддерживаемых семейством функций stat(), смотрите в Поддерживаемые протоколы и обработчики (wrappers).
Смотрите также
- is_readable() — Определяет существование файла и доступен ли он для чтения
- is_writable() — Определяет, доступен ли файл для записи
- is_file() — Определяет, является ли файл обычным файлом
- file() — Читает содержимое файла и помещает его в массив
Вернуться к: Файловая система
Как проверить существование файла на PHP?
Бывают случаи, когда вам необходимо проверить, существует ли указанный файл или нет, например, для того чтобы в последующем совершить с файлом какие-то действия.
Я тоже при разработке модуля столкнулся с этим вопросом. И нашел два варианта решения поставленной задачи.
Проверка существования файла по URL-ссылке
В PHP существует функция «
Что мы делаем? Пытаемся открыть файл, и если нам это удается, значит, файл существует, а противном же случае – файла нет.
Реализация:
<?php $file = "https://www.pandoge.com/logo.png"; // Ссылка на файл if(@fopen($file, "r")) { echo "Файл существует!"; } else { echo "Файл отсутствует!"; } ?>
А что, если мы имеем не один файл, а несколько, так сказать, массив ссылок? Эта задача как раз и стояла изначально передо мной. И решение уже такой задачи следующее:
<?php $images_all = [ "https://www.pandoge.com/logo.png", "https://www.pandoge.com/logo_1.png", "https://www.pandoge.com/logo_2.png", "https://www.pandoge.com/logo_3.png", "https://www.pandoge.com/logo_4.png", "https://www.pandoge.com/logo_5.png" ]; // Исходный массив ссылок foreach($images_all as $image) { if(@fopen($image, "r")) { echo $image; } } ?>
В этом случае мы получаем список только тех файлов, которые существуют.
Проверка существования локального файла
Под словом «локальный» подразумевается, что скрипт и файлы для проверки находятся на одном сервере. Если у вас довольно большой массив ссылок – этот вариант самый лучший для решения задачи, так как мы делаем не запрос на сторонний сервер, а сканирование указанных директорий.
В этом способе используется функция «file_exists», и по аналогии с предыдущим вариантом просто заменяется часть скрипта:
<?php $file = "/logo.png"; // Ссылка на файл if(file_exists($file)) { echo "Файл существует!"; } else { echo "Файл отсутствует!"; } ?>
И то же самое для массива ссылок:
<?php $images_all = [ "/logo.png", "/logo_1.png", "/logo_2.png", "/logo_3.png", "/logo_4.png", "/logo_5.png" ]; // Исходный массив ссылок foreach($images_all as $image) { if(file_exists($image)) { echo $image; } } ?>
На что стоит обратить внимание? На то, что этот способ удобен для прогонки файлов, находящихся в пределах нашей файловой системы. Поэтому все ссылки желательно указывать относительные.
Кстати говоря, делая один из заказов, именно этим способом мне удалось просканировать порядка 135 000 файлов всего за пару секунд.
Как проверить, существует ли файл в PHP
и функции is_writable()
.PHP предоставляет несколько полезных функций, позволяющих проверить, существует ли файл. Давайте рассмотрим эти функции и способы их эффективного использования.
Проверка существования файла с помощью функции file_exists()
Чтобы проверить, существует ли файл, вы используете функцию file_exist()
:
Язык кода: PHP (php)
file_exists ( string $filename ): bool
5 file_
функция принимает имя файла и возвращает
, если файл существует; в противном случае возвращается false
.
В следующем примере функция file_exists()
используется для проверки существования файла readme.txt
в текущем каталоге:
Язык кода: HTML, XML (xml)
Если readme.txt
существует в том же каталоге скрипта, вы увидите следующее сообщение:
Кодовый язык: CSS (css)
Файл readme.txt существует
…иначе вы увидите другое сообщение:
Язык кода: CSS (css)
Файл readme.
txt не существует
Обратите внимание, что $filename
также может быть путем в каталог. В этом случае функция file_exists()
возвращает true
, если каталог существует.
Проверка существования файла с помощью функции is_file()
Если вы хотите проверить, является ли путь файлом (не каталогом) и существует ли он в файловой системе, вы можете использовать функцию функция is_file()
.
Функция is_file()
принимает $filename
и возвращает true
, если $filename
является файлом и существует: PHP (php)
В следующем примере функция is_file()
используется для проверки существования файла
:
Язык кода: HTML, XML (xml)
txt'; если (is_file($filename)) { $message = "Файл $filename существует"; } еще { $message = "Файл $filename не существует"; } эхо $сообщение;
Проверить, существует ли файл и доступен ли он для чтения
На практике часто требуется проверить, существует ли файл, прежде чем читать его содержимое. Чтобы проверить, существует ли файл и доступен ли он для чтения, вы используете функцию
is_readable(): is_readable ( string $filename ): bool
Язык кода: PHP (php)
is_readable() Функция
возвращает true
, если $filename
существует и доступен для чтения или false
в противном случае. Обратите внимание, что $filename
может быть каталогом.
В следующем примере используется функция is_readable()
для проверки существования и доступности файла readme. txt
:
Язык кода: HTML, XML (xml)
Проверить, существует ли файл и доступен ли он для записи
Перед записью в файл необходимо проверить, существует ли файл и доступен ли он для записи. В этом случае вы можете использовать функцию
is_writable() :Язык кода: PHP (php)
is_writable (string $filename): bool
Функция is_writable() возвращает 90
, если $filename
существует и доступен для записи, или ложь
иначе.
В следующем примере используется функция is_writable()
для проверки существования файла readme.txt
и его доступности для записи:
Язык кода: HTML, XML (xml)
Сводка
- Используйте функцию
file_exists()
, чтобы проверить, существует ли файл. - Используйте функцию
is_file()
, чтобы проверить, является ли путь обычным файлом, а не каталогом, и этот файл существует. - Используйте функцию
is_readable()
, чтобы проверить, существует ли файл и доступен ли он для чтения. - Используйте функцию
is_writable()
, чтобы проверить, существует ли файл и доступен ли он для записи.
Этот урок был вам полезен?
PHP-файл существует с примерами кода
PHP-файл существует с примерами кода
В этой статье решение Php File Exist будет продемонстрировано на примерах из языка программирования.
Решение ранее упомянутой проблемы, Php File Exist, также можно найти в другом методе, который будет обсуждаться ниже с некоторыми примерами кода.
если (!file_exists('http://mysite.com/images/thumbnail_1286954822.jpg')) { $filefound = '0'; }
Используя множество реальных примеров, мы продемонстрировали, как исправить ошибку Php File Exist.
Как проверить, существует ли файл в PHP?
Функция file_exists() проверяет, существует ли файл или каталог.
Существует ли в PHP?
Определение и использование. Функция isset() проверяет, установлена ли переменная, что означает, что она должна быть объявлена и не равна NULL. Эта функция возвращает значение true, если переменная существует и не равна NULL, в противном случае она возвращает значение false.
Существует ли каталог PHP?
Функция PHP is_dir() Функция is_dir() проверяет, является ли указанное имя файла каталогом. Примечание. Результат этой функции кэшируется. Используйте clearstatcache() для очистки кеша.
Как проверить, существует файл или нет?
Функция exists() является частью класса File в Java. Эта функция определяет, существует ли файл или каталог, обозначенный абстрактным именем файла, или нет. Функция возвращает true, если абстрактный путь к файлу существует, или возвращает false.12-Dec-2021
Что такое __ DIR __ в PHP?
__DIR__ можно использовать для получения текущего рабочего каталога кода. Он был введен в PHP, начиная с версии 5.3. Это похоже на использование dirname(__FILE__). Обычно он используется для включения других файлов, присутствующих во включенном файле.06 апреля 2020 г.
Как создать файл, если он не существует в PHP?
PHP Создать файл — fopen() Функция fopen() также используется для создания файла. Возможно, это немного сбивает с толку, но в PHP файл создается с помощью той же функции, которая используется для открытия файлов. Если вы используете fopen() для несуществующего файла, он создаст его, учитывая, что файл открыт для записи (w) или добавления (a).
Что означает ?: в PHP?
Оператор разрешения области видимости
Что такое $_ GET в PHP?
PHP $_GET — это сверхглобальная переменная PHP, которая используется для сбора данных формы после отправки HTML-формы с помощью method="get". $_GET также может собирать данные, отправленные в URL-адресе. Предположим, у нас есть HTML-страница, содержащая гиперссылку с параметрами:
.Что такое синтаксис $_ files?
$_FILES — это двумерный ассоциативный глобальный массив элементов, которые загружаются с помощью метода HTTP POST и содержат атрибуты файлов, такие как: Атрибут.