Создание или открытие локального файла

Задача
Необходимо открыть локальный файл, чтобы читать из него данные, или записывать данные в этот файл.

Решение
Это делается при помощи функции fopen():

$fh = fopen('file.txt','r') or die("can't open file.txt: $php_errormsg");

Обсуждение
Первый аргумент функции fopen() – это имя файла; второй аргумент – режим открытия файла. Режим открытия определяет, какие операции можно выполнять с файлом и место, в котором располагается указатель файла после открытия (в начале или в конце файла). В зависимости от режима, файл может сокращаться до нулевой длины после открытия или автоматически создаваться, если указанный в первом аргументе файл не существует. В не-POSIX системах, таких как Windows, к режиму также необходимо добавлять ключ b, если открывается двоичный файл, или чтение и запись строки должны выполняться до встречи с символом NUL (ASCII 0):

$fh = fopen('c:/images/logo.gif','rb');

Для работы с файлом передайте файловый дескриптор, возвращенный функцией fopen(), другой функции ввода/вывода, такой как fgets(), fputs() и fclose().

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

Можно специально указать функции fopen(), что поиск файла следует осуществлять в каталогах include_path, заданных в настройках файла php.ini.


Для этого надо передать значение 1 в качестве третьего необязательного аргумента. Например, следующий фрагмент ищет файл file.inc среди каталогов include_path:

$fh = fopen('file.inc','r',1) or die("can't open file.inc: $php_errormsg");

Оцените статью: (0 голосов)
0 5 0

Статьи из раздела PHP на эту тему:
Блокировка файла
Выбор случайной строки из файла
Запись в несколько файловых дескрипторов одновременно
Запись в стандартный поток вывода
Непосредственная модификация файла без временной копии

Вернуться в раздел: PHP / 18. Файлы