PHP. Отследить REQUEST запрос с помощью логирования в файл


Отслеживаем входящие GET и POST параметры с помощью логирования.

Данный рецепт может потребоваться, тогда когда у вас есть некое апи(сокр. api - application programming interface - программный интерфейс приложения, интерфейс прикладного программирования), которое должно принимать входящие данные со сторонних сервисов различными типами запросов.
Если вам потребовалось отследить входящие параметры, то можно воспользоваться логированием данных входящих запросов.

Если вы не совсем уверены какого типа у вас запрос(GET или POST), то можно воспользоваться глобальной переменной $_REQUEST.
Данная глобальная переменная представляет из себя ассоциативный массив, который содержит в себе GET, POST и COOKIE данные.
Но в остальных случаях желательно использовать реально требуемые типы запросов.

С помощью данной конструкции вы можете выполнять логирование в файл:
ob_start();
var_dump($_REQUEST);
$output = ob_get_clean();
file_put_contents('log.txt', $output, FILE_APPEND);


Разберем как все это работает:
  • 1 строка. Функция ob_start - включает буферизацию вывода. До тех пор, пока буферизация активна, никакой вывод скрипта (кроме заголовков) не будет сохраняться во внутреннем буфере.
  • 2 строка. С помощью функции var_dump выводим информацию о глобальной переменной $_REQUEST.
  • 3 строка. Получаем содержимое текущего буфера с помощью функции ob_get_clean, записываем в переменную $output, после чего функция ob_get_clean чистит содержимое текущего буфера.
  • 4 строка. Пишем данные в файл с помощью функции file_put_contents, где первым параметром указываем местоположение файла с логами, вторым параметром передаем данные, которые будут должны записаться в файл с логами (В нашем случае это параметры входящего запроса, которые были приняты из текущего буфера) и третий параметр содержит константу FILE_APPEND (данная константа позволяет функции file_put_contents дописывать данные в файл с логами, не перезаписывая ранее полученные данные).


В данной статье мы разобрали, то каким образом можно отловить и записать входящие данные GET(гет), POST(пост) или COOKIE(куки) типов запросов в файл.
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.