→ Пошук по сайту       Увійти / Зареєструватися
Знання Мова програмування PHP Работа с файловой системой

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

Компетенція Програмування на PHP

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

Итак, создавать файл мы научились, записывать данные в него – научились, считывать данные из файла – тоже научились. Но вот вопрос: а что если файла, с которым мы пытаемся проделать все эти операции, не существует? Или он недоступен для чтения или записи? Очевидно, что в таком случае ни одна из изученных нами функций работать не будет и PHP выдаст сообщение об ошибке. Чтобы отслеживать такого рода ошибки, можно использовать функции file_exists(),   is_writable(),  is_readable()

Функция file_exists

Синтаксис:

bool file_exists (имя файла или директории)

Функция file_exist() проверяет, существует ли файл или директория, имя которой передано ей в качестве аргумента. Если директория или файл в файловой системе сервера существует, то функция возвращает TRUE, в противном случае – FALSE. Результат работы этой функции кэшируется. Соответственно очистить кэш можно, как уже отмечалось, с помощью функции clearstatcache(). Для нелокальных файлов использовать функцию file_exists() нельзя.

<?php
$filename = 'c:/users/files/my_file.html';
if (file_exists($filename)) {
  print "Файл <b>$filename</b> существует";
} else {
  print "Файл <b>$filename</b> 
        НЕ существует";
}
?>
Пример 9.8. Использование функции file_exist()

Функция is_writable

Если кроме проверки существования файла нужно узнать еще, разрешено ли записывать информацию в этот файл, следует использовать функцию is_writable() или ее псевдоним – функцию is_writeable().

Синтаксис:

bool is_writable (имя файла или директории)

Эта функция возвращает TRUE, если файл (или директория) существует и доступен для записи. Доступ к файлу осуществляется под той учетной записью пользователя, под которой работает сервер (чаще всего это пользователь nobody или www). Результаты работы функции is_writable кэшируются.

Функция is_readable

Если кроме проверки существования файла нужно узнать еще, разрешено ли читать информацию из него, нужно использовать функцию is_readable().

Синтаксис:

bool is_readable (имя файла)

Эта функция работает подобно функции is_writable().

<?php
$filename = 'c:/users/files/my_file.html';
if (is_readable($filename)) {
  print "Файл <b>$filename</b> существует
     и доступен для чтения";
} else {
  print "Файл <b>$filename</b> 
     НЕ существует или 
     НЕ доступен для чтения";
}
?> 
Пример 9.9. Использование функции is_readable()
    © INTUIT.ru. Автор: Н.В. Савельева. Курс размещен по договоренности с администрацией INTUIT.ru
загрузка...
Теми розділу
Сторінки, близькі за змістом