Учебник по PHP

PHP ГЛАВНАЯ Введение в PHP Установка PHP Синтаксис PHP Комментарии PHP PHP-переменные PHP-эхо/печать Типы данных PHP PHP-строки PHP-номера PHP-математика PHP-константы PHP-операторы PHP Если... Иначе... Иначе PHP-переключатель PHP-циклы PHP-функции PHP-массивы PHP-суперглобальные переменные PHP регулярное выражение

PHP- формы

Обработка форм PHP Проверка формы PHP Требуется PHP-форма URL-адрес формы PHP/электронная почта PHP-форма завершена

PHP продвинутый

Дата и время PHP PHP включает Обработка файлов PHP Открытие/чтение файла PHP Создание/запись файла PHP Загрузка файла PHP PHP-куки PHP-сессии PHP-фильтры Расширенные фильтры PHP Функции обратного вызова PHP 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 Получить последний идентификатор MySQL Вставить несколько MySQL подготовлен Выбор данных MySQL MySQL Где Порядок MySQL MySQL Удалить данные Данные обновления MySQL Предельные данные MySQL

PHP XML

XML-парсеры PHP Парсер PHP SimpleXML PHP SimpleXML — Получить PHP XML Expat PHP XML DOM

PHP — АЯКС

Введение в АЯКС АЯКС PHP База данных AJAX АЯКС XML AJAX-поиск в реальном времени АЯКС-опрос

Примеры PHP

Примеры PHP PHP-компилятор PHP-викторина PHP-упражнения PHP-сертификат

Справочник по PHP

Обзор PHP PHP-массив Календарь PHP Дата PHP PHP-каталог Ошибка PHP PHP-исключение Файловая система PHP PHP-фильтр PHP FTP PHP JSON Ключевые слова PHP PHP-библиотека XML PHP-почта PHP-математика PHP Разное PHP MySQLi PHP-сеть Управление выводом PHP PHP регулярное выражение PHP SimpleXML PHP-поток PHP-строка Обработка переменных PHP XML-парсер PHP 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("Unable to open file!");
echo fread($myfile,filesize("webdictionary.txt"));
fclose($myfile);
?>

Совет: функции fread()и fclose()будут описаны ниже.

Файл может быть открыт в одном из следующих режимов:

Modes Description
r Open a file for read only. File pointer starts at the beginning of the file
w Open a file for write only. Erases the contents of the file or creates a new file if it doesn't exist. File pointer starts at the beginning of the file
a Open a file for write only. The existing data in file is preserved. File pointer starts at the end of the file. Creates a new file if the file doesn't exist
x Creates a new file for write only. Returns FALSE and an error if file already exists
r+ Open a file for read/write. File pointer starts at the beginning of the file
w+ Open a file for read/write. Erases the contents of the file or creates a new file if it doesn't exist. File pointer starts at the beginning of the file
a+ Open a file for read/write. The existing data in file is preserved. File pointer starts at the end of the file. Creates a new file if the file doesn't exist
x+ Creates a new file for read/write. Returns FALSE and an error if file already exists


Чтение файла PHP - fread()

Функция fread()читает из открытого файла.

Первый параметр fread()содержит имя файла для чтения, а второй параметр указывает максимальное количество байтов для чтения.

Следующий PHP-код читает файл «webdictionary.txt» до конца:

fread($myfile,filesize("webdictionary.txt"));

Закрыть файл PHP - fclose()

Функция fclose()используется для закрытия открытого файла.

Хорошей практикой программирования является закрытие всех файлов после того, как вы закончите с ними работать. Вы не хотите, чтобы открытый файл работал на вашем сервере, занимая ресурсы!

Требуется fclose()имя файла (или переменная, содержащая имя файла), которую мы хотим закрыть:

<?php
$myfile = fopen("webdictionary.txt", "r");
// some code to be executed....
fclose($myfile);
?>

PHP Чтение одной строки — fgets()

Функция fgets()используется для чтения одной строки из файла.

В приведенном ниже примере выводится первая строка файла «webdictionary.txt»:

Пример

<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
echo fgets($myfile);
fclose($myfile);
?>

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


Проверка PHP на конец файла — feof()

Функция feof()проверяет, достигнут ли «конец файла» (EOF).

Функция feof()полезна для циклического просмотра данных неизвестной длины.

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

Пример

<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
// Output one line until end-of-file
while(!feof($myfile)) {
  echo fgets($myfile) . "<br>";
}
fclose($myfile);
?>

PHP Чтение одного символа — fgetc()

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

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

Пример

<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
// Output one character until end-of-file
while(!feof($myfile)) {
  echo fgetc($myfile);
}
fclose($myfile);
?>

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


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

Полный справочник по функциям файловой системы см. в нашем полном справочнике по файловой системе PHP .


PHP-упражнения

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

Упражнение:

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

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