PHP fopen() - Открыть файл
Функция fopen() используется для открытия файла или URL.
Первый параметр
fopen() содержит имя файла, который нужно открыть, а
второй параметр указывает, в каком режиме следует открыть файл.
В следующей таблице перечислены различные режимы открытия файла:
| Режим | Описание |
|---|---|
| r | Только чтение. Указатель файла находится в начале файла |
| r+ | Чтение/Запись. Указатель файла находится в начале файла. Существующие данные сохраняются |
| w | Только запись. Стирает содержимое файла или создает новый файл, если он не существует. Указатель файла находится в начале файла |
| w+ | Чтение/Запись. Стирает содержимое файла или создает новый файл, если он не существует. Указатель файла находится в начале файла |
| a | Добавление (только запись). Существующие данные в файле сохраняются. Указатель файла находится в конце файла. Создает новый файл, если файл не существует |
| a+ | Добавление (чтение/запись). Существующие данные в файле сохраняются. Указатель файла находится в конце файла. Создает новый файл, если файл не существует |
| x | Только запись. Создает новый файл. Возвращает FALSE и ошибку, если файл уже существует |
| x+ | Чтение/Запись. Создает новый файл. Возвращает FALSE и ошибку, если файл уже существует |
Мы будем использовать текстовый файл "webdictionary.txt" во время уроков:
AJAX = Асинхронный JavaScript и XML
CSS = Каскадные таблицы стилей
HTML = Язык гипертекстовой разметки
PHP = Препроцессор гипертекста PHP
SQL = Язык структурированных запросов
SVG = Масштабируемая векторная графика
XML = Расширяемый язык разметки
Следующий пример открывает файл "webdictionary.txt" в режиме только для чтения.
Он также выводит сообщение, если функция
fopen() не может открыть файл:
Пример
<?php
$myfile = fopen("webdictionary.txt", "r") or die("Ошибка: Невозможно открыть файл!");
echo fread($myfile, filesize("webdictionary.txt"));
fclose($myfile);
?>
Попробуйте сами »
PHP fread() - Чтение файла
Функция fread() читает данные из открытого файла.
Первый параметр
fread() содержит имя файла для чтения, а
второй параметр является необязательным и указывает максимальное количество байт для чтения.
Следующий PHP-код читает файл "webdictionary.txt" до конца:
fread($myfile, filesize("webdictionary.txt"));
Чтобы прочитать, например, 50 байт файла "webdictionary.txt", используйте этот код:
fread($myfile, 50);
PHP fclose() - Закрыть файл
Функция fclose() закрывает открытый файл.
Совет: Это хорошая практика программирования — закрывать все файлы после того, как вы закончили с ними работать. Вы не хотите, чтобы открытые файлы работали на сервере и потребляли ресурсы!
Функция fclose() требует имя файла (или переменную, содержащую
имя файла) для закрытия:
<?php
$myfile = fopen("webdictionary.txt", "r");
// некоторый код для выполнения....
fclose($myfile);
?>
PHP fgets() - Чтение одной строки
Функция fgets() читает одну строку из файла.
В примере ниже выводится первая строка файла "webdictionary.txt":
Пример
<?php
$myfile = fopen("webdictionary.txt", "r") or die("Ошибка: Невозможно открыть файл!");
echo fgets($myfile);
fclose($myfile);
?>
Попробуйте сами »
Примечание: После вызова функции
fgets() указатель файла перемещается на следующую строку.
PHP feof() - Проверка конца файла
Функция feof() проверяет, достигнут ли "конец файла" (EOF).
Функция feof() полезна для циклического перебора данных неизвестной длины.
В примере ниже файл "webdictionary.txt" читается построчно, пока не будет достигнут конец файла:
Пример
<?php
$myfile = fopen("webdictionary.txt", "r") or die("Ошибка: Невозможно открыть файл!");
// Выводим одну строку до конца файла
while(!feof($myfile)) {
echo fgets($myfile) . "<br>";
}
fclose($myfile);
?>
Попробуйте сами »
PHP fgetc() - Чтение одного символа
Функция fgetc() читает один символ из файла.
В примере ниже файл "webdictionary.txt" читается посимвольно, пока не будет достигнут конец файла:
Пример
<?php
$myfile = fopen("webdictionary.txt", "r") or die("Ошибка: Невозможно открыть файл!");
// Выводим по одному символу, пока не достигнут конец файла
while(!feof($myfile)) {
echo fgetc($myfile);
}
fclose($myfile);
?>
Попробуйте сами »
Примечание: После вызова функции
fgetc() указатель файла перемещается на следующий символ.
Полный справочник файловой системы PHP
Для получения полного справочника функций файловой системы перейдите к нашему Полному справочнику файловой системы PHP.