Записать данные в файл на php

Время чтения - 2 мин, 52 сек.
23 сен 2019
Дата
О чем статья
О чем статья
Записать данные в файл на php не составит трудности для любого человека. Для этого понадобится несколько функций php или даже одна, которые быстро запишут информацию в файл. Вам лишь остается правильно настроить эти функции.

PHP - очень мощный язык программирования и такие действия, как запись каких-нибудь данных в файл не составит каких-либо трудностей.

Серверный язык программирования php
Серверный язык программирования php

Существует два самых распространенных функции php для записи данных в файл:

  • fwrite()
  • file_put_contents()

Каждая из этих функций имеет свои особенности, поэтому я сейчас разберу каждую из них по отдельности.

Функция fwrite для записи в файл

Чтобы начать работать с файлом необходимо создать его или открыть, передав результат переменной. Для этих целей используется функция fopen(), которая в качестве аргументов принимает два значения:

  • Путь к файлу или название файла
  • Режим работы с файлом

Выглядеть код будет следующим образом:

<?php $fp = fopen ("file.txt", "w+"); ?>

В данном примере переменной является $fp, в которую записывается результат работы функции fopen(). Функция имеет два аргумента. Первый это путь к файлу относительно текущей директории, второй аргумент указывает каким образом открыть или создать файл, в данном случае это w+, который обозначает: если существует файл с таким же названием, то открыть его, удалив все содержимое, а если такого файла не существует, то создать его. Подробнее про режимы работы с файлом вы можете прочитать в следующей статье.

Второй этап - это запись данных в файл функцией php fwrite(). Она принимает два аргумента, первым из которых является переменная результата работы функции fopen(), а второй это информация для записи (текст).

Пример:

<?php $fw = fwrite( $fp, " текст который надо записать в файл " ); ?>

Этот код php записывает текстовые данные в файл. Как всегда результат работы функции присваиваем переменной $fw. Это всегда полезно, так как мы можем проверить записались ли данные в файл. Проверка осуществляется таким образом:

<?php

$fw = fwrite( $fp, " текст который надо записать в файл " );

if ($fw) { echo " Данные добавлены "; }

else { echo " Данные не добавлены "; }

?>

Второй аргумент функции fopen(), является непосредственно текст для записи в файл, который не только может быть передан непосредственно внутри функции, но и переменной, в которой содержится текстовое значение.

Пример:

<?php

$text= " текст который надо записать в файл ";

$fw = fwrite( $fp, $text ); // записываем в файл

?>

Третий этап - это закрытие соединения с файлом с помощью функции fclose(). У нее единственный аргумент -это переменная, в которой записан результат работы функции fopen.

Полный php код для записи данных в конкретный файл:

<php

$fp = fopen ( "file.txt", "w+" ); // открытие файла

$fw = fwrite( $fp, " текст который надо записать в файл "); // запись в файл

fclose($fp); // закрытие соединения с файлом

?>

Функция file_put_contents для записи в файл

Функция file_put_contents появилась с 5 версией php, и с ее помощью осуществляется запись данных в файл всего лишь одной строчкой кода.

Пример:

<?php

file_put_contents( "file.txt ", " текст который надо записать в файл " );

?>

Функция возвращает кол-во записанных в файл байт или же FALSE в случае не удачи. Поэтому можно проверить конструкцией if записались ли данные в файл:

<?php

$filename = 'file.txt';

$text = " текст который надо записать в файл ";

if ( file_put_contents( $filename, $text ) ) { echo " Данные добавлены "; }

else { echo " Данные не добавлены "; }

?>

В продемонстрированных примерах мы полностью перезаписывали файл, очищая его предыдущее содержимое. Чтобы добавить данные в конец файла, используется флаг — FILE_APPEND.

Это будет выглядеть так:

<?php

$filename = 'file.txt';

$text = " текст который надо записать в файл ";

file_put_contents( $filename, $text, FILE_APPEND );

?>

Функция file_put_contents() идентична последовательному вызову функций fopen(), fwrite() и fclose(), но она не дает полного контроля над операциями чтения/записи и медленнее работает с большим количеством данных чем функция fwrite().

Вы разработчик? Заходите в группу о веб-программировании.

1328
Почему несколько VPN-расширений не могут работать одновременно на Manifest V3
Программирование
В Manifest V3 (MV3) введены существенные изменения, которые влияют на работу расширений, включая VPN-расширения. Основная причина, по которой несколько VPN-расширений не могут работать одновременно, связана с ограничениями, введенными в MV3, а также с особенностями работы сетевых запросов в Chrome.
Декабрь 2024
217
Что надо знать про Cookie файлы с флагом HttpOnly
Программирование
Несмотря на то, что файлы cookie HttpOnly не могут быть прочитаны с помощью JavaScript, все же можно перезаписать файлы cookie HttpOnly с помощью JavaScript.
Январь 2024
731
Как настроить удаленный доступ к базе данных MySQL 8 на Linux Ubunty
Программирование
Настройка VPS или VDS дело не совсем простое. Поэтому записываю этот мануал чтобы вы поняли как настроить удаленный доступ к базе данных Mysql версии 8.
Январь 2024
925
Bash скрипт для проверки публичных репозиториев Github и уведомления о них
Программирование
В этом руководстве мы покажем shell скрипт, который проверяет наличие всех публичных репозиториев под учетной записью GitHub и отправляет уведомление по электронной почте.
Октябрь 2022
866
DDoS атака с помощью Torshammer
Программирование
Проведение DDoS-атак на веб-сайты является уголовным преступлением, запрещенным законом во всем мире. Но в качестве образовательных целей мы рассмотрим процесс атаки.
Октябрь 2022
501