Справочник по PHP : Файлы и сети : Работа с файлами : Функции для определения типов файлов
смотрим также
Материал из Справочник Web-языков
Содержание |
file_exists
Проверяет существование вызываемого файла.
Синтаксис:
bool file_exists(string filename)
Возвращает true, если файл с именем filename существует на момент вызова. Следует использовать эту функцию с осторожностью.
Например, следующий код никуда не годится с точки зрения безопасности:
if(!file_exists($fname)) $f=fopen($fname,"w"); else $f=fopen($fname,"r");
Дело в том, что между вызовом file_exists() и открытием файла в режиме w проходит некоторое время, в течение которого другой процесс может вклиниться и подменить используемый нами файл. Данная проблема выходит на передний план при написании сценария счетчика.
Функция не работает с удаленными файлами, файл должен находиться в доступной для сервера файловой системе.
Результаты функции кэшируются, см. функцию clearstatcache().
filetype
Возвращает тип файла.
Синтаксис:
string filetype(string filename)
Возвращает строку, которая описывает тип файла с именем filename. Если такого файла не существует, возвращает false.
После вызова строка будет содержать одно из следующих значений:
- file - обычный файл;
- dir - каталог;
- link - символическая ссылка;
- fifo - fifo-канал;
- block - блочно-ориентированное устройство;
- char - символьно-ориентированное устройство;
- unknown - неизвестный тип файла;
is_file
Проверка существования обычного файла.
Синтаксис:
bool is_file(string filename)
Возвращает true, если filename - обычный файл.
is_dir
Проверка существования каталога.
Синтаксис:
bool is_dir(string filename)
Возвращает true, если каталог filename существует.
is_link
Проверка существования символической ссылки на файл.
Синтаксис:
bool is_link(string filename)
Возвращает true, если filename - символическая ссылка.
Функция не работает под Windows.
is_readable
Проверка существования файла, доступного для чтения.
Синтаксис:
bool is_readable(string filename)
Возвращает true, если файл может быть открыт для чтения.
Обычно PHP осуществляет доступ к файлу с привелегиями пользователя, запускающего web-сервер (часто "nobody"). Соображения безопасности должны приниматься в расчет.
is_writeable
Проверка существования файла, доступного для записи.
Синтаксис:
bool is_writeable(string filename)
Возвращает true, если в файл можно писать. Обычно PHP осуществляет доступ к файлу с привелегиями пользователя, запускающего web-сервер (часто "nobody"). Соображения безопасности должны приниматься в расчет.
is_executable
Проверка существования запускаемого файла.
Синтаксис:
bool is_executable(string filename)
Возвращает true, если файл filename - исполняемый.
is_uploaded_file
Проверка существования файла, загруженного методом HTTP POST.
Синтаксис:
bool is_uploaded_file(string filename)
Возвращает true, если файл с именем filename был загружен на сервер посредством HTTP POST.
Часто это полезно, чтобы убедиться, что пользователи из злого умысла не пытались заставить сценарий работать с теми файлами, с которыми им работать не следует.