Підступна війна росії проти України. Орієнтовні втрати ворога
(станом на 21.10.2026)
1570540
осіб
449
літаків
356
гелікоптерів
12436
танків
25586
ББМ
51403
артилерія
1716
ППО
2228
РСЗВ
165278
машин
35
кораблі і катери

Як працювати з файлами у PHP: Повний гайд з CRUD-операцій (Створення, Читання, Оновлення, Видалення)

Під час розробки веб-додатків на PHP часто виникає потреба взаємодіяти не лише з базами даних (MySQL, PostgreSQL), а й безпосередньо з файловою системою сервера. Збереження логів, кешування даних, генерація тимчасових звітів, завантаження аватарів чи обробка конфігураційних файлів вимагають знання базових операцій із файлами.

У сучасній веб-розробці на Vanilla PHP (не фреймворках) цей процес максимально спрощений завдяки високорівневим вбудованим функціям. Розглянемо класичний цикл CRUD (Create, Read, Update, Delete) для роботи з текстовими файлами.

 

1. Огляд вбудованих функцій PHP для роботи з файлами

Залежно від складності завдання, PHP пропонує два основні підходи до роботи з файлами:

  • Високорівневі функції (One-liner functions): Такі як file_put_contents() та file_get_contents(). Вони ідеально підходять для більшості повсякденних задач, оскільки самостійно відкривають, читають/записують і закривають файл за один виклик.
  • Низькорівневі потоки (File streams): Функції fopen(), fread(), fwrite() та fclose(). Використовуються для роботи з великими файлами, коли потрібно контролювати буферизацію пам’яті або застосовувати паралельне блокування.

 

2. Порівняльна таблиця функцій файлової системи

Операція (CRUD) Основні функції PHP Опис та особливості використання
Create (Створення) file_put_contents(), fopen($file, 'w') Створює новий файл (або перезаписує існуючий) і записує туди дані.
Read (Читання) file_get_contents(), readfile(), file() Зчитує весь вміст файлу в рядок або масив рядків.
Update (Оновлення) file_put_contents(..., FILE_APPEND), fopen($file, 'a') Додає новий вміст у кінець існуючого файлу без його стирання.
Delete (Видалення) unlink() Повністю видаляє файл із файлової системи сервера.

 

3. Практичні приклади коду (Vanilla PHP)

 

Крок 1: Створення та запис у файл (Create)

Функція file_put_contents – це найпростіший спосіб створити файл і записати в нього текст:

<?php
$filename = 'log.txt';
$data = "Перший рядок логу: система запущена успішно.\n";

// Створює файл (якщо його не було) та записує дані
$result = file_put_contents($filename, $data);

if ($result !== false) {
    echo "Файл успішно створено, записано байтів: $result";
} else {
    echo "Помилка запису файлу.";
}
?>

 

Крок 2: Читання файлу (Read)

Для отримання вмісту файлу використовується file_get_contents():

<?php
$filename = 'log.txt';

if (file_exists($filename)) {
    // Зчитуємо весь вміст у змінну
    $content = file_get_contents($filename);
    echo "<pre>" . htmlspecialchars($content) . "</pre>";
} else {
    echo "Файл не знайдено.";
}
?>

 

Крок 3: Оновлення / Додавання даних (Update)

Щоб не затерти попередні дані, а додати нову інформацію в кінець файлу, використовуйте прапорець FILE_APPEND:

<?php
$filename = 'log.txt';
$newLogEntry = "Другий рядок: користувач виконав авторизацію.\n";

// Додаємо дані в кінець файлу
file_put_contents($filename, $newLogEntry, FILE_APPEND);

echo "Дані успішно оновлено!";
?>

 

Крок 4: Видалення файлу (Delete)

Для знищення файлу використовується функція unlink():

<?php
$filename = 'log.txt';

if (file_exists($filename)) {
    if (unlink($filename)) {
        echo "Файл успішно видалено.";
    } else {
        echo "Не вдалося видалити файл (перевірте права доступу).";
    }
} else {
    echo "Файлу вже немає.";
}
?>

 

Технічна порада розробника: Працюючи з файлами на сервері (особливо при високому навантаженні або написанні власних систем логування), завжди дбайте про безпеку та конкурентність. По-перше, перевіряйте права на запис через is_writable(). По-друге, якщо кілька процесів одночасно пишуть у той самий файл, використовуйте низькорівневі потоки разом із блокуванням flock($fp, LOCK_EX), щоб запобігти пошкодженню даних (race conditions).

 

Підсумок: Робота з файлами у PHP – це потужний інструмент для вирішення локальних завдань бекенду. Використовуйте функції file_put_contents та file_get_contents для швидких операцій, не забувайте перевіряти існування файлів через file_exists() і завжди контролюйте права доступу (chmod) на рівні операційної системи Linux.

 

Категорії:

Перегляди 188
розкажіть друзям:

Напишіть тут свою думку/питання

Ваша пошта не публікуватиметься. Обов’язкові поля позначені *