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