PHP: Логические функции файловой системы

Из всех обсуждаемых в этом разделе функций поддержки первыми мы рассмотрим логические функции. Эти функции являются логическими, потому что они разработаны для проверки свойств файла (является ли он выполняемым, является ли он каталогом, и так далее) и возвращают булевские значения true и false. Из-за относительной схожести (и простоты) большинства этих функций, мы опустим их подробное объяснение.

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

Как уже упоминалось, большинство из функций, которые считаются «логическими», используется для определения конкретного свойства передаваемого файла. Доступные в РНР логические функции для определения свойств заданного файла перечисленны ниже. Каждая из этих функций принимает единственный параметр (имя проверяемого файла) и возвращает булевское значение, определяющее, обладает ли указанный файл требуемым свойством.

Логические функции для проверки файлов

is_dir () Определяет, является ли файл каталогом.
is_executable () Определяет, является ли файл исполняемым под управлением РНР.
is_file () Определяет, является ли файл обычным файлом или символической ссылкой (возвращает true, если это обычный файл).
is_link () Определяет, является ли файл символической ссылкой (обратная к функции is_file ()).
is_readable () Определяет, имеет ли РНР разрешение на чтение из заданного файла.
is_uploaded_file () Определяет, был ли данный файл загружен на сервер через Web.
iswriteable () Определяет, имеет ли РНР разрешение на запись в заданный файл.
file_exists () Определяет, существует ли заданный файл.

Использование логических функций файловой системы

<?php
$testfile = "/tmp/myfile.dat";
if(!file_exists($testfile)) {
echo "Ошибк а — $testfile не существует!<BR>";
exit;
}
echo "Что мы знаем о файле $testfile<BR>";
if(is_dir($testfile)) echo "Это каталог.<BR>";
if(is_file($testfile)) echo "Это обычный файл (не символическая ссылка)<BR>";
if(is_link($testfile)) echo "Это символическая ссылка на файл<ВR>";
if(is_uploaded_file($testfile)) echo "Это загруженный файл<ВR>";
if(is_readable($testfile)) echo "PHP может читать этот файл<ВR>";
if (is_writeable($testfile)) echo "PHP может писать в этот файл<ВR>";
if(is_executable($testfile)) echo "PHP может выполнять этот файл<ВR>";
?>

 

Рейтинг
( Пока оценок нет )
Загрузка ...