如何将 echo 重定向到 php 中的 txt?

How to redirect echo to txt in php?

您好,我正在尝试将访问我网站的 IP 地址写入日志文件。这是我的代码:

function getRealIpAddr(){
 if ( !empty($_SERVER['HTTP_CLIENT_IP']) ) {
  // Check IP from internet.
  $ip = $_SERVER['HTTP_CLIENT_IP'];
 } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']) ) {
  // Check IP is passed from proxy.
  $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
 } else {
  // Get IP address from remote address.
  $ip = $_SERVER['REMOTE_ADDR'];
 }
 return $ip;
}

echo getRealIpAddr();

我想得到“echo getRealIpAddr();”到我创建的“iplogs.txt”

使用php函数file_put_contents

https://www.php.net/manual/en/function.file-put-contents.php

<?php
$file = 'iplogs.txt';
// Open the file to get existing content
$current = file_get_contents($file);
// Append a new output to the file
$current .= getRealIpAddr();
// Write the contents back to the file
file_put_contents($file, $current);
?>

使用file_put_contents($filename, $data, FILE_APPEND)FILE_APPEND不会覆盖之前的数据。

阅读file_put_contents

所以在你的情况下代码是

$ip = getRealIpAddr();
$filename = '/full/path/to/iplogs.txt';
file_put_contents($filename, $ip, FILE_APPEND)

您可以像这样使用 \r\nPHP_EOL 添加换行符

file_put_contents($filename, $ip . PHP_EOL, FILE_APPEND)