Язык программирования PHP | страница 81




r


Открывает файл только для чтения; устанавливает указатель позиции в файле на начало файла.


r+


Открывает файл для чтения и записи; устанавливает указатель файла на его начало.


w


Открывает файл только для записи; устанавливает указатель файла на его начало и усекает файл до нулевой длины. Если файл не существует, то пытается создать его.


w+


Открывает файл для чтения и записи; устанавливает указатель файла на его начало и усекает файл до нулевой длины. Если файл не существует, то пытается создать его.


a


Открывает файл только для записи; устанавливает указатель файла в его конец. Если файл не существует, то пытается создать его.


a+


Открывает файл для чтения и записи; устанавливает указатель файла в его конец. Если файл не существует, то пытается создать его.


x


Создает и открывает файл только для записи; помещает указатель файла на его начало. Если файл уже существует, то fopen() возвращает false и генерируется предупреждение. Если файл не существует, то делается попытка создать его. Этот тип доступа поддерживается начиная с версии PHP 4.3.2 и работает только с локальными файлами.


x+


Создает и открывает файл для чтения и записи; помещает указатель файла на его начало. Если файл уже существует, то fopen() возвращает false и генерируется предупреждение. Если файл не существует, то делается попытка создать его. Этот тип доступа поддерживается, начиная с версии PHP 4.3.2, и работает только с локальными файлами.


Что происходит, если открыть или создать файл с помощью fopen не удается? В этом случае PHP генерирует предупреждение, а функция fopen возвращает как результат своей работы значение false. Такого рода предупреждения можно «подавить» (запретить) с помощью символа @ .


Например, такая команда не выведет предупреждения, даже если открыть файл не удалось:


$h = @fopen("dir/another_file.txt","w+");


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


Прежде чем ответить на эти вопросы, рассмотрим, как закрыть установленное с помощью fopen() соединение.


Закрытие соединения с файлом


После выполнения необходимых действий с файлом, будь то чтение или запись данных или что-либо другое, соединение, установленное с этим файлом функцией fopen(), нужно закрыть . Для этого используют функцию fclose(). Синтаксис у нее следующий:


fclose (указатель на файл)