Функция PHP «fopen»

Функция PHP «fopen»

Дверь открыта

Здравствуйте, уважаемые читатели!

При разработке веб-ресурсов обойтись без использования различных файлов довольно сложно. Это могут быть, как текстовые документы, так и различные изображения и анимации. Они могут храниться в основной папке сайта, на различных серверах и даже в корневой папке ПК.

Для того, чтобы обратиться к заданному файлу, в PHP существует специальная функция «fopen( )», которая, в свою очередь, может иметь различные режимы доступа к информации. Интересной особенностью данной функции является то, что при отсутствии указанного файла, она автоматически создает его, что также часто используется в практике сайтостроения.

При написании, данная функция имеет следующий вид:

fopen(file_name, mode)

В данном случае, в скобках указывается вначале имя необходимого файла, а затем необходимый режим его открытия.

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

$fp = fopen("/home/nikmurashkin/file.txt", "r");
?>

Где:

  • file.txt — имя файла
  • /home/nikmurashkin/... — путь к файлу
  • r — режим доступа к файлу

Как видно из примера, для того, чтобы функция смогла открыть или создать нужный файл, необходимо указать не только имя файла, но и путь его расположения. В этом случае может быть указано лишь имя файла, если он находится в той же папке, что и основной PHP-сценарий. Если же файл располагается в папке, расположенной на несколько уровней от текущей ("files/data/info.txt"), необходимо также указать данный путь. Указание абсолютного пути к файлу ("C:\\Home_server\\files\\info.txt") вполне допустимо, но необязательно. В этом случае, как вы уже заметили, наклонный разделитель удваивается, что обеспечивает более корректную работу функции.

Режимы доступа

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

  • r (режим чтения) и r+ (режим чтения и записи) — в обоих случаях позиция курсора в начале файла
  • w (режим записи данных) и w+ (режим записи данных плюс чтение) — для обоих режимом при нахождении файла функция обнуляет его, а при отсутствии создает
  • a (режим записи без обнуления файла) и a+ (режим записи и чтения без обнуления файла) — в данном случае позиция курсора в конце файла
  • x (создание файла для записи) и x+ (создание файла для записи и чтения) — если файл уже существует, функция выдает ошибку

При использовании данных функций следует уделить внимание типу вашей операционной системы и версии PHP — от этого может существенно зависеть форма указания пути к файлу.

Читайте также о принципах работы с циклом PHP «foreach».

Дискуссия по теме