PHP — запись в лог файл или логирование

Используем простую запись в файл для отладочной информации, а также смотрим для чего еще можно использовать file_put_contents.

Как при помощи PHP записывать отладочную информацию в файл?

Используем вышеупомянутый file_put_contents:

<? file_put_contents("log.txt", $message); ?>

Немного улучшим код и рассмотрим как он будет выглядеть:

<? 
$logFileName = "log.txt"; 
$name = 'Тестовый товар'; 
$message = "Начали запись\n"; 
$message .= $name . " - обновлен" . date('d.m.Y H:i:s') . "\n"; 
file_put_contents($logFileName, $message, FILE_APPEND); 
?>

Какие есть особенности?
Во-первых — лог файл запишется в ту же папку, где и ваш скрипт.
Во-вторых — запись может быть невозможна, если вы не дали файлу достаточно прав.
В-третьих — контролируйте размер файла, или обнуляйте запись. Чтобы это сделать нужно убрать FILE_APPEND:

<? 
file_put_contents($logFileName, $message); 
?>

Как можно использовать запись в файл на PHP?

Кроме отладочной информации, очень часто формируют CSV файлы — они в дальнейшем используются для выгрузки и загрузки. Вы могли про это читать в моей статье — Загрузка и выгрузка товаров в 1С-Битрикс .

Помимо этого, вы можете сохранять текущий шаг большой выгрузки, запись такая же как и с лог файлом (без FILE_APPEND).
В файле просто хранится цифра. Можно хранить шаг либо в GET параметре, либо в БД — вариантов на самом деле очень много 🙂

автор: Dmitriy

Занимаюсь веб-разработкой с 2011 года. Посмотреть некоторые из моих работ, а также узнать чуть больше обо мне, вы можете на forwww.ru.

Какие услуги предоставляю:
- Создание сайтов, шаблонов и компонентов на 1С-Битрикс;
- Разработка функционала с нуля и доработка кода на уже созданных проектах;
- Адаптивная вёрстка макетов и натяжка на Битрикс;
- Парсинг файлов и выгрузка на сайт (форматы - CSV, XML, XLSX, JSON)
- Интеграции со сторонними сервисами по API;
- Многоязычные версии и многое другое.

Если у вас остались вопросы, свяжитесь со мной любым удобным для вас способом или оставьте комментарий внизу.
E-mail: dmitriyribka@gmail.com
Skype: cinemacreaterus

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *