Видалення файлів функцією PHP unlink

12 0 Новини високих технологій

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

Умови хостингу і імена файлів

Створення файлу на хостингу може виконати PHP-код внаслідок необхідності постійного або тимчасового зберігання даних. Файли можуть бути завантажені через сторінки сайту. У будь-якому разі має значення ім'я файлу і шлях до нього.


Як правило, дані розміщуються в спеціально виділених папках і не можуть бути розміщені в місці знаходження коду сайту. Перед видаленням файлу має бути перевірено, що саме буде видалено. Хостинги, зазвичай, - це сервера Apache або Windows. Для безпечної і стабільної роботи веб-ресурсу доцільно не тільки контролювати, але й формувати ім'я кожного файлу. Довіряти відвідувачу завантажувати файли з довільними іменами неприпустимо.
Видалення файлів функцією PHP unlink
Для збереження оригінального імені можна створити спеціальну таблицю відповідності імен. Кожен завантажений файл отримує нове ім'я, але точне оригінальне ім'я зберігається. При створенні файлу сайт «сам вибирає» ім'я файлу. При таких умовах використання функції PHP unlink() безпечно і надійно.

Видалення файлу

Файлова система, надана веб-ресурсу, починається з позиції $_SERVER['DOCUMENT_ROOT']. Кожна папка, починаючи з кореня сайту, має свої права доступу. Не прийнято встановлювати блокування і захисту, що завдають шкоди сайту.


Якщо яка-небудь операція заборонена - вона просто не буде виконана. Сайт як працював, так і буде продовжувати працювати. Не обов'язково перед виконанням функції PHP unlink() перевіряти фактичну наявність файлу. Якщо щось не так, генерується помилка рівня E_WARNING. Екрануючи символом «@» виклик функції, можна не надавати значення цій помилці. Бажаючи писати професійний код, слід перед видаленням перевірити шлях, ім'я файлу і його фактичну наявність.
Видалення файлів функцією PHP unlink
Ситуації, коли функція PHP unlink не працює, придумати складно. Єдине, важливо враховувати дуже прискіпливе ставлення будь-якого хостингу до регістру літер кирилиці. Щоб уникнути проблем як імена файлів, так і процес видалення файлів слід тримати на відповідальному контролі.