No Image

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

СОДЕРЖАНИЕ
1 просмотров
10 марта 2020

(PHP 4, PHP 5, PHP 7)

file_exists — Проверяет наличие указанного файла или каталога

Описание

Проверяет наличие указанного файла или каталога.

Список параметров

Путь к файлу или каталогу.

На платформах Windows, для проверки наличия файлов на сетевых ресурсах, используйте имена, подобные //computername/share/filename или \computernamesharefilename .

Возвращаемые значения

Возвращает TRUE , если файл или каталог, указанный параметром filename , существует, иначе возвращает FALSE .

Данная функция возвращает FALSE для символических ссылок, указывающих на несуществующие файлы.

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

Проверка происходит с помощью реальных UID/GID, а не эффективных идентификаторов.

Замечание: Так как тип integer в PHP является целым числом со знаком и многие платформы используют 32-х битные целые числа, то некоторые функции файловых систем могут возвращать неожиданные результаты для файлов размером больше 2ГБ.

Примеры

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

if ( file_exists ( $filename )) <
echo "Файл $filename существует" ;
> else <
echo "Файл $filename не существует" ;
>
?>

Ошибки

В случае неудачного завершения работы генерируется ошибка уровня E_WARNING .

Примечания

Замечание: Результаты этой функции кэшируются. Более подробную информацию смотрите в разделе clearstatcache() .

Начиная с PHP 5.0.0, эта функция также может быть использована с некоторыми обертками url. Список оберток, поддерживаемых семейством функций stat() , смотрите в Поддерживаемые протоколы и обработчики (wrappers).

Смотрите также

  • is_readable() – Определяет существование файла и доступен ли он для чтения
  • is_writable() – Определяет, доступен ли файл для записи
  • is_file() – Определяет, является ли файл обычным файлом
  • file() – Читает содержимое файла и помещает его в массив
Читайте также:  Org springframework beans factory unsatisfieddependencyexception

(PHP 3, PHP 4, PHP 5)

file_exists — Проверить наличие указанного файла или каталога

Описание bool file_exists ( string filename )

Возвращзает TRUE , если файл или каталог с именем, указанным в параметре filename , существует; возвращает FALSE в обратном случае.

На платформах Windows, для проверки наличия файлов на сетевых ресурсах, используйте имена, подобные //computername/share/filename или \computernamesharefilename .

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

= ‘/path/to/foo.txt’ ;

if ( file_exists ( $filename )) <
echo "The file $filename exists" ;
> else <
echo "The file $filename does not exist" ;
>
?>

Замечание: Результаты этой функции кэшируются. Более подробную информацию смотрите в разделе clearstatcache() .

Подсказка: Начиная с PHP 5.0.0 , эта функция также может быть использована с некоторыми упаковщиками url. Список упаковщиков, поддерживаемых семейством функций stat() .

Бывают случаи, когда вам необходимо проверить, существует ли указанный файл или нет, например, для того чтобы в последующем совершить с файлом какие-то действия.

Я тоже при разработке модуля столкнулся с этим вопросом. И нашел два варианта решения поставленной задачи.

Проверка существования файла по URL-ссылке

В PHP существует функция «fopen», с помощью которой можно открыть указанный URL.

Что мы делаем? Пытаемся открыть файл, и если нам это удается, значит, файл существует, а противном же случае – файла нет.

А что, если мы имеем не один файл, а несколько, так сказать, массив ссылок? Эта задача как раз и стояла изначально передо мной. И решение уже такой задачи следующее:

В этом случае мы получаем список только тех файлов, которые существуют.

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

Под словом «локальный» подразумевается, что скрипт и файлы для проверки находятся на одном сервере. Если у вас довольно большой массив ссылок – этот вариант самый лучший для решения задачи, так как мы делаем не запрос на сторонний сервер, а сканирование указанных директорий.

Читайте также:  Сколько стоит написать программу на заказ

В этом способе используется функция «file_exists», и по аналогии с предыдущим вариантом просто заменяется часть скрипта:

И то же самое для массива ссылок:

На что стоит обратить внимание? На то, что этот способ удобен для прогонки файлов, находящихся в пределах нашей файловой системы. Поэтому все ссылки желательно указывать относительные.

Кстати говоря, делая один из заказов, именно этим способом мне удалось просканировать порядка 135 000 файлов всего за пару секунд.

Комментировать
1 просмотров
Комментариев нет, будьте первым кто его оставит

Это интересно
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
Adblock detector