У цьому уроці розглянемо режими, які доступні для роботи з файлами.
Що таке файл? Це певна область пам'яті на деякому носії інформації, наприклад на жорсткому диску. Для зручності, можна собі уявляти ємності з різною їжею в холодильнику - судочки, консерви, упаковки. Кожна ємність підписана відповідно вмісту. Так і файли мають свою назву. Воно складається з двох складових - сама назва і розширення файлу. Розширення відокремлюється крапкою від самої назви і служить для того, щоб відрізняти типи файлів один від одного. Як і в прикладі з ємностями з їжею ми можемо відрізнити пластиковий судок від консервної банки.
У файлах можна зберігати різноманітну інформацію, наприклад в файлі index.html можна зберігати вихідний код веб-сторінки.
Для роботи з файлами в PHP існує функція fopen ($ filename, $ mode). в яку обов'язково необхідно передати назву $ filename файлу і режим $ mode роботи з ним (в якості строкових значень). Ця функція повертає спеціальний покажчик на відповідний файл в якості типу resource. Цей покажчик буде необхідний при подальшій роботі з цим файлом.
Розглянемо основні режими роботи з файлами в PHP:- r відкриває файл тільки для читання і поміщає маркер в початок файлу. Це можна використовувати, наприклад, для отримання всього вмісту файлу. Змінювати файл можна.
- r + відкриває файл для читання і запису. Це можна використовувати, наприклад, для отримання всього вмісту файлу і внесення змін до нього.
- w відкриває файл тільки для запису. Створює файл (якщо це можливо), якщо його не існує або очищає існуючий файл. Маркер поміщається в початок файлу.
- w + відкриває файл для читання і запису. Створює файл, якщо його не існує або очищає існуючий файл. Маркер поміщається в початок файлу.
- a відкриває файл тільки для запису і ставить маркер в кінець файлу. Створює файл, якщо його не існує.
- a + відкриває файл для читання і запису і ставить маркер в кінець файлу. Створює файл, якщо його не існує.
Розглянемо кілька прикладів:
→ На повний екран
У наступних уроках розглянемо функції для читання і запису у файли, використовуючи перераховані режими.