Новини високих технологій
» » Видалення файлів функцією PHP unlink

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

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

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

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


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

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

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


Якщо яка-небудь операція заборонена - вона просто не буде виконана. Сайт як працював, так і буде продовжувати працювати. Не обов'язково перед виконанням функції PHP unlink() перевіряти фактичну наявність файлу. Якщо щось не так, генерується помилка рівня E_WARNING. Екрануючи символом «@» виклик функції, можна не надавати значення цій помилці. Бажаючи писати професійний код, слід перед видаленням перевірити шлях, ім'я файлу і його фактичну наявність.
Ситуації, коли функція PHP unlink не працює, придумати складно. Єдине, важливо враховувати дуже прискіпливе ставлення будь-якого хостингу до регістру літер кирилиці. Щоб уникнути проблем як імена файлів, так і процес видалення файлів слід тримати на відповідальному контролі.
Цікаво по темі
Перевірка наявності файлу PHP file_exists
Перевірка наявності файлу PHP file_exists
Широке застосування баз даних не позбавило звичайну файлову систему значення. Запис і читання файлів як і раніше займають значиме місце в
Що робити, якщо перевищений ліміт на скачування файлу "Яндекс Диск"?
Що робити, якщо перевищений ліміт на скачування файлу "Яндекс Диск"?
Сучасні технології прагнуть вперед – в еру повної комп'ютеризації та спрощення людського життя. Як і належить, технології поліпшуються, змінюючи свої
Як використовувати Putty: команди і корисні функції
Як використовувати Putty: команди і корисні функції
У цьому матеріалі ми познайомимося з PuTTY, безкоштовним клієнтом терміналу для Windows, який дозволяє віддалено керувати серверами на базі Linux по
Читання файлу функцією file get content PHP
Читання файлу функцією file get content PHP
Читання вмісту файлу цілком - природна операція, і в багатьох випадках краще рішення - використання функції file_get_contents на PHP.