Вернуться назад Распечатать

Запис даних у файл за допомогою php file_put_contents.

Для того щоб зберегти дані в файл, є спеціальна функція в PHP file_put_contents(). З її допомогою можна записати інформацію в файл різними способами. Розглянемо всі приклади file_put_contents PHP.
Наведений спосіб дуже простий. Він не розкриває всіх можливостей функції і підходить тільки для демонстрації її роботи. Адже не варто забувати про те, що подібний метод запису може дати збій в умовах працюючого сайту. Так як до файлу може надходити запит на читання і запис одночасно. Щоб уникнути подібних казусів, потрібно надати нашому скрипту ексклюзивний доступ до файлу. Для цього слід використовувати прапорець блокування LOCK_EX. Тепер з використанням LOCK_EX всі запити будуть оброблятися по черзі. У наведених вище прикладах, функція file_put_contents() форматує файл перш, ніж записати в нього нову інформацію. Так само можна не видаляючи попередні дані, зберегти нові в кінець, застосувавши прапор FILE_APPEND.


Якщо запис пройшла вдало, функція повертає значення у вигляді розміру файлу у байтах, а в разі невдачі вона поверне FALSE. Знаючи цю інформацію, можна зробити перевірку, як зазначено в прикладі вище.

Збереження масивів у файл за допомогою file_put_contents

Для запису масивів у файл можна використовувати цю ж функцію, але перед цим масив потрібно серіалізовать. Іншими словами, перетворити його у текст. А після запису десериализовать все назад в масив.

Запис у файл за допомогою fopen(), fwrite(), fclose()

Є й інший варіант запису даних за допомогою PHP з використанням функцій fopen(), fwrite(), fclose(). Вони аналогічні PHP file_put_contents(), але дозволяють більш детально підійти до написання скрипта виконує різні операцій з файлом.

fopen() - відкриття файлу; fwrite() - читання файлу; fclose() - закриття файлу; При використанні функції fopen() потрібно вказати режим її роботи $file = fopen($document, "w"); У цьому прикладі функція fopen() з режимом "W" - (writting) може тільки записувати дані в файл. Тому його вміст буде вилучено. А якщо файл з таким ім'ям немає, то скрипт створить його. У випадку, якщо потрібно дописати інформацію, зберігши при цьому попередній вміст, то при відкритті потрібно використовувати режим "W+". $file = fopen($document, "w+"); //Відкриття файлу. Потім йде запис в файл: fwrite($file, $info); //Запис в файл. fclose($file); //Після запису закриваємо файл.