PHP/Робота з файлами та модулями
Файли
[ред.]Файли часто використовуються як для збереження певних тимчасових даних (замовлення покупця тощо) так і цілої бази даних. Хоча для другого випадку краще використовувати систему управління базами даних MySQL, яка спрощує роботу з великою кількістю даних, але коли такої можливості немає, то використовують файли. Неможливість використання MySQL зачасту постає, коли за кожну базу даних потрібно платити додаткові гроші або ж MySQL взагалі не встановлена. Робота з файлами відбувається практично ідентично як у мові програмування С.
Щоб записати деякі дані в файл, необхідно виконати наступні три дії:
- Відкрити файл. Якщо файл не існує, то він може створюватись, або ж виконуватись інші передбачені для цього дії.
- Записати дані в файл.
- Закрити файл.
Аналогічно, щоб прочитати дані з файлу:
- Відкрити файл. Якщо файл неможливо відкрити, то потрібно передбачити дії для цієї ситуації.
- Прочитати дані з файлу.
- Закрити файл.
Для відкриття файлу можна використати функцію fopen(). Приклад:
$fp=fopen ("myfile.txt", 'w');
Перший параметр – це шлях до файлу. Другий режим читання файлу. Він вказується для того, щоб сервер знав, які права надати програмі. Чи лише читання, без права редагувати, чи запису, чи редагування тощо.
Режим | Значення |
---|---|
r | Режим читання. Відкриває файл для читання, починаючи з початку файлу. |
r+ | Режим читання. Відкривай файл для читання і запису, починаючи з початку файлу |
w | Режим запису. Відкривай файл для запису, починаючи з початку файлу. Якщо файл існує, його вміст видаляється. Якщо файл не існує намагається його створити. |
w+ | Режим запису. Відкриває файл для запису, починаючи з початку файлу. Якщо файл вже існує, його вміст видаляється. Якщо файл не існує пробує його створити. |
x | Режим обережного запису. Відкриває файл для запису, починаючи з початку файлу. Якщо файл вже існує, він не відкривається, fopen() повертає значення false, а PHP генерує попередження. |
x+ | Режим обережного запису. Відкриває файл для запису і читання, починаючи з початку файлу. Якщо файл вже існує, він не відкривається, fopen () повертає значення false, a PHP генерує попередження |
a | Режим дописування. Відкриває файл тільки для дописування (запису) і читання, починаючи з кінця існуючого вмісту, якщо такий є. Якщо файлу не існує, спробує його створити. |
a+ | Режим допису. Відкриває файл для допису (запису) і читання, починаючи з кінця існуючого змісту, якщо такий є. Якщо файл не існує, пробує його створити. |
b | Модифікатор, який вказує на роботу (читання і запис) з двійковим файлом; актуальний лише для Windows і в основному використовується вкупі із іншим режимом |
t | Текстовий режим. Використовується разом з одним із інших режимів. Актуальний лише для Windows. Не рекомендується для використання і використовується лише в деяких випадках. |
Прочитати рядки з файлу можна так:
$file_handle = fopen("names.txt", "r"); // відкриваємо файл names.txt на читання
while (!feof($file_handle)) { // поки файл не закінчився
$line = fgets($file_handle); // читаємо рядочок
if($line) { // щось там з ним робимо
echo "<li>$line</li>";
};
};
далі буде.
Модульність
[ред.]Можна підставити текст одного php-файлу в інший, командою:
include 'header.php'; // підставляємо файл header.php
Переважно сторінки веб-сайту мають певні частини, які не змінюються при навігації. Наприклад, заголовок сторінки ("шапку", header), низ сторінки та спільне меню. Щоб не писати на кожній сторінці один і той же код, зручніше його помістити в окремому файлі і на кожній веб-сторінці підключати цей код. Крім того, в разі необхідності введенні змін у ці частини веб-сторінок, непотрібно буде вводити зміни на кожній веб-сторінці, достатньо лише відредагувати відповідний файл, наприклад header.php, якщо необхідно змінити верх сторінок.