ЛУЧШИЙ САЙТ ДЛЯ ВЕБ-РАЗРАБОТЧИКОВ

PHP Учебник

PHP СТАРТ PHP Интро PHP Установка PHP Синтаксис PHP Комментарии PHP Переменные PHP Echo / Print PHP Типы данных PHP Строки PHP Числа PHP Математика PHP Константы PHP Операторы PHP If...Else...Elseif PHP Switch PHP Циклы PHP Функции PHP Массивы PHP Суперглобальные PHP RegEx

PHP Формы

PHP Обработка формы PHP Проверка формы PHP Обязательные поля формы PHP Форма URL/E-mail PHP Заполнение формы

PHP Расширенный

PHP Дата и время PHP Подключение файлов PHP Обработка файлов PHP Файл открыть/читать PHP Файл создать/записать PHP Файл Загрузить PHP Куки PHP Сессии PHP Фильтры PHP Расширенные фильтры PHP Callback функции PHP JSON PHP Исключения

PHP ООП

PHP Что такое ООП PHP классы/объекты PHP Конструктор PHP Деструктор PHP Модификаторы доступа PHP Наследование PHP Константы PHP Абстрактные классы PHP Интерфейсы PHP Трейты PHP Статические методы PHP Статические свойства PHP Пространства имён PHP Итерации

MySQL База данных

MySQL База данных MySQL Подключение MySQL Создать БД MySQL Создать таблицы MySQL Вставить данные MySQL Получить последний ID MySQL Вставить несколько записей MySQL Подготовленные инструкции MySQL Выбрать данные MySQL Where MySQL Order By MySQL Удаление данных MySQL Обновление данных MySQL Ограничение данных

PHP XML

PHP XML Парсеры PHP SimpleXML Парсер PHP SimpleXML - Get PHP XML Expat PHP XML DOM

PHP - AJAX

AJAX Интро AJAX PHP AJAX База данных AJAX XML AJAX Живой поиск AJAX Опрос

PHP Примеры

PHP Примеры PHP Компилятор PHP Викторина PHP Упражнения PHP Сертификат

PHP Справочник

PHP Обзор PHP Массив PHP Календарь PHP Дата PHP Каталог PHP Ошибка PHP Исключение PHP Файловая система PHP Фильтр PHP FTP PHP JSON PHP Ключевые слова PHP Libxml PHP Почта PHP Математика PHP Разное PHP MySQLi PHP Сеть PHP Output Control PHP RegEx PHP SimpleXML PHP Поток PHP Строка PHP Обработка переменных PHP XML Парсер PHP Zip PHP Часовые пояса

PHP. Уроки для начинающих

PHP Файл Открыть/Читать/Закрыть


В этой главе вы научитесь открывать, читать и закрывать файл на сервере.


PHP Открыть файл - fopen()

Лучший способ открыть файлы - использовать функцию fopen(). Эта функция предоставляет больше возможностей, чем функция readfile().

Мы будем использовать текстовый файл "webdictionary.txt" во время уроков:

AJAX = Asynchronous JavaScript and XML
CSS = Cascading Style Sheets
HTML = Hyper Text Markup Language
PHP = PHP Hypertext Preprocessor
SQL = Structured Query Language
SVG = Scalable Vector Graphics
XML = EXtensible Markup Language

Первый параметр 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 Проверить "end-of-file" (конец файла) - feof()

Функция 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()

Функция fgetc() используется для чтения одного символа из файла.

В приведенном ниже примере файл "webdictionary.txt" читается символ за символом, до достижения конца файла:

Пример

<?php
$myfile = fopen("webdictionary.txt", "r") or die("Невозможно открыть файл!");
// Вывести один символ до конца файла
while(!feof($myfile)) {
  echo fgetc($myfile);
}
fclose($myfile);
?>
Выполнить пример »

Примечание: После вызова функции fgetc() указатель файла перемещается на следующий символ.


Полный справочник по файловой системе PHP

Для более полного ознакомления с функциями файловой системы, перейдите к полному PHP Справочнику файловой системы на нашем сайте W3Schools на русском.


PHP Упражнения

Проверьте себя с помощью упражнений

Упражнение:

Откройте файл и напишите корректный синтаксис для вывода одного символа за раз, до конца файла.

$myfile = fopen("webdict.txt", "r");
while(!($myfile)) {
  echo ($myfile);
}