Php/mysql 64 урок: как сделать логирование в файл?

2

2. Создайте самостоятельно логирование в файл выполнения работы скрипта из прошлого урока. Как это делать?

php
mysql

2 ответов

3

В этом ответе посмотрите как сделать логирование:

https://fructcode.com/ru/qa/kak-sdelat-logirovanie-iz-64-uroka-dexukn/

Если подробнее, то вам нужно воспользоваться php-функцией записи в файл, вот пример:

<?php
    $fp = fopen('logs_movie.txt', 'w'); 
    fwrite($fp, 'Интерстеллар');
    fclose($fp);
?>

Этот код запишет в файл logs_movie.txt строку Интерстеллар. Вам нужно fwrite($fp, 'Интерстеллар'); поместить в цикл (который бежит по фильмам из xml файла) и заменить Интерстеллар на переменную в которой в цикле находится название фильма.  Перед переменной нужно писать еще дату добавления в лог, для этого есть функция в php  под названием data:

echo date("d/m/Y H:i:s");

выведет 15/03/2019 22:19:56

нужно сделать объединение данных, т.е. примерно так:

fwrite($fp, date("d/m/Y H:i:s").' - '.$movie_title); 

то есть в файле лога получится много записей в формате:

15/03/2019 22:19:56 - Интерстеллар
15/03/2019 22:19:57 - Другой фильм
15/03/2019 22:19:58 - Сияние
2

После ввода переменных необходимо поменять код таким образом:

.........

foreach ($xml as $movie_key => $movie) {  
	$title = $movie->title_russian;
	$title_origin = $movie->title_original;
	$year = $movie->year;
	$country = $movie->country->name;

	$fp = fopen('logs.txt', 'a');
	fwrite($fp, date("d/m/Y H:i:s").' - '.$title."\n");
	fclose($fp);

.......

Дальше ничего не меняем, пишем как было на уроке:

Sign up or Log in to write an answer