Сохранить массив в файл PHP
Иногда нет возможности просмотреть структуру приходящего массива, но необходимость все же в этом есть. Сохранить массив можно в PHP, при помощи встроенной функции print_r(). Но не как в классическом виде, просто передав туда массив, чтобы его распечатать на экране, а еще указать вторым параметром true, сохранить это в переменную, а переменную отдать на запись в файл txt, применив встроенную функцию file_put_contents(). Итак код, который это сделает:
$datatoprintlog = print_r($_SERVER,true);
file_put_contents('serv.txt', 'Данные: $datatoprintlog \n', FILE_APPEND);
Пояснение по функции file_put_contents.

В результате работы этого кода, на сервере появится файл serv.txt, если его еще не было и в него запишется распечатанный массив, содержимое файла:
Данные:
Array
(
[SSH_CONNECTION] => 89.444.125.00 54996 89.444.124.00 22
[XDG_SESSION_ID] => 7693
[USER] => itricks
[PWD] => /var/www/users/data/www/ae-nekrasov.ru/testoflearning
[HOME] => /var/www/users/data
[SSH_CLIENT] => 89.444.125.22 54766 22
[MAIL] => /var/mail/itricks
[SHELL] => /bin/bash
[SHLVL] => 1
[LOGNAME] => users
[XDG_RUNTIME_DIR] => /run/user/517
[PATH] => /usr/local/bin:/usr/bin:/bin:/usr/local/
[_] => /usr/bin/php
[OLDPWD] => /var/www/users/data/www/ae-nekrasov.ru/test
[PHP_SELF] => test.php
[SCRIPT_NAME] => test.php
[SCRIPT_FILENAME] => test.php
[PATH_TRANSLATED] => test.php
[DOCUMENT_ROOT] =>
[REQUEST_TIME_FLOAT] => 1634734018.7821
[REQUEST_TIME] => 1634734018
[argv] => Array
(
[0] => test.php
)
[argc] => 1
)
В данном случае у меня нет динамически приходящего массива, в основном такой подход используется при интеграции с какими-то сервисами, где данные приходят в массив $_REQUEST, соответственно просто вместо $_SERVER подставьте в код $_REQUEST или другой нужный массив.
Видео