我似乎无法确定为什么当客户端IP存在时,它不会附加到文件中。
我一直运行echo语句直到file_put_contents()
函数,我可以看到变量中的内容。
$file = 'log.txt';
$now = new DateTime();
$timestamp = $now->format('Y-m-d H:i');
if (isset($_SERVER['REMOTE_ADDR'])){
$log = $_SERVER['REMOTE_ADDR'].' '. $timestamp;
}else{
$log = 'SERVER '.$timestamp;
}
$log = strval($log); //convert to string
$log .= "\n\r";
file_put_contents($file,$log,FILE_APPEND);
答案 0 :(得分:0)
首先,你问这个问题,这意味着你还没有掌握基本的调试方法。
调试代码需要打开错误报告。通过增加 error_reporting(E_ALL); ini_set(' display_errors',' on'); 在代码的开头或修改php配置文件 error_reporting = E_ALL display_errors = On 可以那样做。
无法写入文件通常是因为权限问题。
祝你好运!答案 1 :(得分:-3)
你需要在写入文件之前打开文件,这里尝试类似这样的事情 -
<?php
$my_file = fopen("log.txt", "r+");
?>
您甚至可以检查文件是否存在,如果不存在,您可以创建它!
这是一个可以帮助你的页面