Fopen PHP — Создание файлов в PHP
Сегодня мы научимся создавать файлы при помощи встроенных функций в PHP. Работа с файлами в данном языке программирования организована достаточно удобно и эффективно, но обо всем по порядку…
Создание файла (fopen в PHP)
Процесс создания файлов в PHP выглядит достаточно оригинальным образом. Среди стандартных функций PHP нет ни одной специализированной функции для создания файлов. Существует только функция fopen(), предназначенная для установки связей с файлами. Но вот что интересно: если функция не может найти указанный файл, то она создает новый файл с таким же именем.
Синтаксис функции fopen() можно представить следующим образом:
resource fopen
( имя_файла, тип_доступа[use_include_path] )
имя_файла – позволяет указать функции имя открываемого (ну или создаваемого файла). Если файл все – таки существует, то PHP должен иметь права доступа к этому файлу, иначе будет инициирована ошибка. тип_доступа – указывает программе тип доступа к файлу, точнее говоря определяет допустимый набор действий над файлом.
Параметр use_include_path, установленный в значение TRUE , говорит интерпретатору PHP о том, что необходимый файл находится в директории скриптов по умолчанию (адрес данной директории задается в файле настроек PHP).
Далее перечислю возможные значения, принимаемые директивой тип_доступа :
- r – устанавливает указатель на начало файла и открывает файл для чтения.
- r+ – устанавливает указатель на начало файла и открывает файл для чтения и записи одновременно.
- w – если файл существует – обнуляет его содержимое и позволяет произвести запись данных.
Если же файл не существует, то создает файл с этим именем. - w+ – аналогично параметру w с той лишь разницей, что позволяет произвести параллельное чтение из файла.
- a – используется для до записи в файл. Устанавливает указатель на конец файла.
- a+ – открывает файл для чтения и записи. Устанавливает указатель на конец файла.
- x – пытается создать файл для записи, но если файл уже существует, то возвращает ошибку.
- x+ – пытается создать файл для чтения и записи, но если он уже существует, то возвращает ошибку.
Рассмотрим особенности создания файлов в PHP на небольшом примере:
<?php $h = fopen(«my_file.1″,»w»); $h = fopen(«another_file.txt»,»w+»); ?> |
В этом примере мы создаем два файла внутри директории с самой страницей, откуда происходит вызов программы. Если такие файлы уже существуют в этой директории, то они будут открыты и очищены.
Закрытие соединения с файлом
После открытия соединения с файлом и проведения над ним каких–либо действий соединение необходимо закрыть. Связанно это с тем, что не закрытое соединение может привести к не самым приятным последствиям. Не буду вдаваться в подробности, достаточно лишь сказать, что открытое соединение – прямая дорога для хакерских атак.
Для закрытия соединения используется функция fclose():
fclose (указатель_на_файл)
Если соединение было успешно закрыто, то fclose() возвращает истину (TRUE) в противном случае – ложь (FALSE). В параметре этой функции должен быть расположен указатель на открытый файл:
<?php $h = fopen(«my_file_1.html»,»w»); fclose($h); ?> |
Работа с файлами в PHP позволяет сильно увеличить функционал создаваемых скриптов и сегодня мы разобрались с использованием fopen в PHP.