Сохранить массив в файл 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 или другой нужный массив.
Видео