将 $_SERVER 的输出保存到文件


Save output of $_SERVER to file

我用这个:

<?php
foreach($_SERVER as $key => $value){
echo "<b>$key:</b> $value<br>'n";
}
 ?>

在浏览器中输出。是否有任何方法可以将输出重定向到文件并将其从浏览器页面中隐藏?

我会建议如下:

<?php
foreach($_SERVER as $key => $value)
{
  file_put_contents('the_file.txt', "<b>$key:</b> $value<br>'n", FILE_APPEND);
}
?>

确保the_file.txt具有写入权限。

而不是回显构建一个输出以放入您的文件:

<?php
$in='';
foreach($_SERVER as $key => $value){
    $in .= $key.' - '.$value.PHP_EOL;
}
//save it
file_put_contents('_SERVER.txt', $in);
?>

此外,您不想添加任何 html 标签。

要编写文件,您需要使用 file_put_contents()。要生成$_SERVER内容的(人类)可读表示,您应该查看print_r()或var_export()。

file_put_contents("/tmp/exported-server.txt", print_r($_SERVER, true));

使用 $s = print_r($_SERVER)$s = var_export($_SERVER) 甚至 ob_start(); var_dump($_SERVER); $s = ob_get_clean(); 可以确保您获得任何值类型的正确可视化。您的方法仅适用于字符串和数字,但不适用于数组、对象......