PHP5 Открыть, прочитать, закрыть файл
В этой главе Вы научитесь, как открыть, прочитать и закрыть файл на сервере.
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() содержит имя файла для чтения, а
второй параметр указывает максимальное число байтов для чтения.
Следующий PHP код считывает "webdictionary.txt" файл до конца:
fread($myfile,filesize("webdictionary.txt"));
PHP Закрыть Файл
Функция fclose() используется для закрытия открытого файла.
Это хорошая практика программирования, чтобы закрыть все файлы, после того как закончили работу с ними. Вы не хотите открыть файл на ваш сервер принимает ресурсы!
Функция fclose() требует имя файла (или переменной, содержащей имя файла), который нужно закрыть:
<?php
$myfile = fopen("webdictionary.txt", "r");
// некоторый код для выполнения....
fclose($myfile);
?>
PHP Чтение одной строки
Функция fgets() используется для чтения одной строки из файла.
В примере ниже выводится первая строка файла "webdictionary.txt":
Пример
<?php
$myfile = fopen("webdictionary.txt", "r") or die("Не удается открыть файл!");
echo fgets($myfile);
fclose($myfile);
?>
Смотреть код »
Примечание: После вызова функции fgets(), указатель файла перемещается на следующую строку.
PHP Проверить отключение файла
Функция feof() проверяет, отключение файла "end-of-file" (EOF) было достигнуто.
Функция feof() полезен для цикла данных неизвестной длины.
В приведенном примере файл "webdictionary.txt" выводит строку, пока не будет достигнут конец файла:
Пример
<?php
$myfile = fopen("webdictionary.txt", "r") or die("Не удается открыть файл!");
// Вывести все строки файла
while(!feof($myfile)) {
echo fgets($myfile) . "<br>";
}
fclose($myfile);
?>
Смотреть код »
PHP Чтение одного символа
Функция fgetc() используется для чтения одного символа из файла.
В приведенном примере файл "webdictionary.txt" вводит символ, пока не будет достигнут конец файла:
Пример
<?php
$myfile = fopen("webdictionary.txt", "r") or die("Не удается открыть файл!");
// Вывести все строки файла
while(!feof($myfile)) {
echo fgetc($myfile);
}
fclose($myfile);
?>
Смотреть код »
Примечание: После вызова функции fgetc() указатель файла перемещается на следующий символ.
РНР Полный справочник файловой системы
Для полной справки функций файловой системы, перейдите к нашему полному PHP Справочник файловой системы.
