Робота з файлами в php

Робота з файлами в PHP

під роботою з файлами в PHP мається на увазі читання з файлу і запис в файл різної інформації. Цілком очевидно, що працювати з файлами доводиться багато, тому будь-який PHP-програміст зобов`язаний вміти зчитувати з файлу і записувати в файл.

послідовність роботи з файлами в PHP така:

  1. Відкрити файл.
  2. Виконати необхідні дії.
  3. Закрити файл.

Як бачите, послідовність роботи з файлами нагадує роботу з файлами через звичайний провідник. Тільки тут вся робота виконується автоматично самим PHP-скриптом.

Відео: Вивчаємо PHP | Урок №25 - Робота з файлами

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

  1. a - відкриває файл тільки для запису, причому покажчик поміщається в кінець файлу.
  2. a + - те ж саме, що і модифікатор a, але також файл відкривається ще й для читання.
  3. r - відкриває файл тільки для читання, а покажчик встановлюється в початок файлу.
  4. r + - те ж саме, що і модифікатор r, але також файл відкривається ще й для запису.
  5. w - відкриває файл тільки для запису, покажчик встановлює в початок файлу і стирає весь вміст файлу.
  6. w + - те ж саме, що і модифікатор w, тільки файл відкривається також і для читання.

Також розрізняють два режими роботи з файлами: бінарний (позначається b) і текстовий (позначається t). Якщо Ви працюєте зі звичайним текстовим файлом, то вибирайте текстовий режим, а якщо, наприклад, із зображенням, то бінарний.




Це все основні модифікатори, яких Вам цілком вистачить. Тепер давайте дізнаємося, як закрити файл. Закривається файл за допомогою функції fclose ().

Відео: Робота з файлами в PHP Читання і запис Управління файлами

Тепер перейдемо до читання файлу за допомогою функції fread (). І давайте, нарешті, наведу приклад:

lt ;?php
$ handle
= fopen("Files / a.txt","Rt") -
$ contents
=``-
while(!feof($ handle))
$ contents
.= fread($ handle,4096) -
fclose
($ handle) -
?gt;

В даному прикладі ми спочатку відкриваємо файл для читання в текстовому режимі (модифікатор rt). Функція fopen () повертає так званий дескриптор, за допомогою якого можна спілкуватися з файлом, і записуємо його в змінну handle. Потім ми в циклі while () до тих пір, поки не досягнуть кінець файл, зчитуємо вміст кожного разу по 4096 символів, які записуємо в змінну contents. Після завершення процесу зчитування - закриваємо файл, знову за допомогою дескриптора файлу.




Тепер перейдемо до запису за допомогою функції fwrite ():

lt ;?php
$ handle
= fopen("Files / a.txt","At") -
$ string
="This is text"-
fwrite
($ handle, $ string) -
fclose
($ handle) -
?gt;

Після запуску цього скрипта, в файлі a.txt додасться рядок "This is text".

Особливо уважні читачі звернули увагу на покажчики, про які я писав трохи вище. покажчик - це поточна позиція уявного "курсора" у файлі. Саме з нього і починається робота з файлом. Змінити становище покажчика можна за допомогою функції fseek ():

lt ;?php
$ handle
= fopen("Files / a.txt","Rt") -
$ contents
= fread($ handle,3) -
echo $ contents
."
"
-
fseek
($ handle,0, SEEK_SET) -
$ contents
= fread($ handle,3) -
echo $ contents
."
"
-
?gt;

Таким чином, ми спочатку зчитуємо 3 символу (в результаті, поточне положення вказівника зсувається на 3 позиції). Потім ми встановлюємо покажчик на початок файлу. І знову зчитуємо 3 символу. Як Ви і здогадалися, ми два рази вважали одне і теж. Тобто перший раз 3 символу, потім повернулися назад, і знову вважали 3 символу. Також якщо у функції fseek () замінити SEEK_SET на SEEK_CUR, то тоді другий параметр буде не встановлювати позицію покажчика, а зрушувати щодо поточного місця розташування. Раджу навіть попрактикуватися з покажчиками, тому що для розуміння це не так просто. Також рекомендую спробувати записати що-небудь в файл при позиції покажчика, наприклад, на самому початку файлу. І обов`язково поясніть отриманий результат.

Відео: Урок 34: Робота з файлами в PHP

І, наостанок, хочеться привести ще пару функцій, які дозволяють працювати з файлами на найпростішому рівні: file_put_contens () і file_get_contents (). функція file_put_contents () записує в файл, а функція file_get_contents () зчитує вміст з файлу. Ці функції дуже прості в застосуванні, але можливостей там вже менше (хоча, як правило, вони і не потрібні):

lt ;?php
file_put_contents
("Files / a.txt","This is text 2") -
echo file_get_contents
("Files / a.txt") -
?gt;

В даному скрипті ми спочатку записали рядок "This is text 2"В файл, а потім зчитуємо отримане вміст і виводимо його. Як бачите, важко придумати більш простий спосіб читання з файлу і запис в файл.

Ось і всі основні моменти роботи з файлами в PHP.

Дякую за увагу!

Поділися в соціальних мережах:

Схожі
Як з excel-файлу зробити dbf-файлЯк з excel-файлу зробити dbf-файл
Команда movefile - перемістити або видалити зайнятий файлКоманда movefile - перемістити або видалити зайнятий файл
Команда exit - завершити роботу командного процесора або поточного командного файлу.Команда exit - завершити роботу командного процесора або поточного командного файлу.
Модифікатори в регулярних виразахМодифікатори в регулярних виразах
Super file managerSuper file manager
Створення винятків в phpСтворення винятків в php
Команда tftp - обмін файлами по протоколу tftpКоманда tftp - обмін файлами по протоколу tftp
Робота з правами доступу до файлів через phpРобота з правами доступу до файлів через php
Nodejs. Запис і читання файлів.Nodejs. Запис і читання файлів.
Права доступу до файлівПрава доступу до файлів
» » Робота з файлами в php