Робота з файлами в php
під роботою з файлами в PHP мається на увазі читання з файлу і запис в файл різної інформації. Цілком очевидно, що працювати з файлами доводиться багато, тому будь-який PHP-програміст зобов`язаний вміти зчитувати з файлу і записувати в файл.
послідовність роботи з файлами в PHP така:
- Відкрити файл.
- Виконати необхідні дії.
- Закрити файл.
Як бачите, послідовність роботи з файлами нагадує роботу з файлами через звичайний провідник. Тільки тут вся робота виконується автоматично самим PHP-скриптом.
Відео: Вивчаємо PHP | Урок №25 - Робота з файлами
Почнемо з першого пункту - відкриття файлу. Файл відкривається за допомогою функції fopen (). Перший параметр - це шлях до файлу, а другий параметр - модифікатор. Давайте відразу розберемо можливі модифікатори:
- a - відкриває файл тільки для запису, причому покажчик поміщається в кінець файлу.
- a + - те ж саме, що і модифікатор a, але також файл відкривається ще й для читання.
- r - відкриває файл тільки для читання, а покажчик встановлюється в початок файлу.
- r + - те ж саме, що і модифікатор r, але також файл відкривається ще й для запису.
- w - відкриває файл тільки для запису, покажчик встановлює в початок файлу і стирає весь вміст файлу.
- 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.
Дякую за увагу!
- Pdf tools
- Super file manager
- Команда exit - завершити роботу командного процесора або поточного командного файлу.
- Завантаження файлів на сервер в php
- Як видалити файл через термінал linux
- Як з excel-файлу зробити dbf-файл
- Команда recover - відновлення збережених даних на пошкодженому диску.
- Команда movefile - перемістити або видалити зайнятий файл
- Команда copy
- Type - висновок на екран вмісту текстового файлу.
- Команда tftp - обмін файлами по протоколу tftp
- Команда openfiles - управління відкритими по мережі або локально файлами.
- Завантаження файлів великих розмірів в php
- Лічильник звернень до файлів
- Робота з правами доступу до файлів через php
- Перенаправлення вводу виводу linux
- Створення винятків в php
- Права доступу до файлів
- Nodejs. Запис і читання файлів.
- Модифікатори в регулярних виразах
- Читання ini-файлу в php