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 українською.