Главная > Программирование > РНР: настольная книга программиста
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

26.5. PHP: Определение атрибутов файлов

Атрибут — признак ил и свойство, характеризующее объект.

Каждый файл имеет свой набор атрибутов (исполнимость, читаемость, изменяемость и т. д.). В данном параграфе рассмотрены следующие функции получения атрибутов:

• is_dir(),

• is_executable(),

• is_file(),

• is_link(),

• is_readable(),

• is_writeable().

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

Обратите внимание, что все возвращаемые значения этих строк сохраняются в хэше.

При возникновении какой-либо ошибки каждаяих этих функции вернет значение, равное false.

Все функции, кроме is_file(), не производят работу с удаленными файлами.


ВНИМАНИЕ

Функция is_link() не работает в операционной системе Windows.


При работе с функцией is_readable() и is_writeable() помните, что РНР может иметь доступ к файлу как пользователь, под чьим id запущен Web-сервер (часто 'nobody').

Описываемые функции подчиняются следующему синтаксису:

bool is_dir (string filename)

Для примера использована функция is_dir(), хотя на ее месте может быть любая другая из приведенного списка функций. Все функции возвращают булевый тип (true или false), в качестве параметра filename применяется путь к исследуемому файлу.

Теперь опишем каждую функцию в отдельности:

is_dir() возвращает true, если заданный путь указывает на каталог, т. е. если параметр filename является каталогом, функция is_dir() возвратит true, в противном случае — false. Например:

is_dir("Z:/home/localhost/www");

проверяет, относится ли файл к классу исполнимых, если да, то возвращает true, иначе — false.

is_file() проверяет, относится ли файл к классу обычных файлов. Функция возвращает true, если указанный файл является обычным и существует. В противном случае — false.

is_link() проверяет, относится ли файл к символическим ссылкам. Если указанный файл является символической ссылкой, функция возвратит true, в противном случае — false.

проверяет, относится ли файл к классу Если файл

ствует и является доступным для чтения, функция возвращает значение true, в противном случае — false.

is_writeable() проверяет, относится ли файл к классу записываемых. Функция возвратит true, если указанный файл в этой функции существует и доступен для записи, в противном случае — false.

Описанные здесь функции используются в РНР 3 и РНР 4.

В качестве исключения необходимо выделить функцию is_writable(), которая работает в РНР 4 - РНР 4.0b2 и выше.

<< Предыдущий параграф Следующий параграф >>
Оглавление