【代码实现】
//创建写入数据
$vistor=array(
'time'=>date("Y-m-d H:i:s"),
'$ip'=>get_real_ip()
);
//读取保存数据到txt文件
$res = file_get_contents("./log/log.json");
var_dump($res);
//读取解析成数组
$res_new = explode("\r\n",$res);
var_dump($res_new);
file_put_contents("./log/log.json", json_encode($vistor,true)."\r\n",FILE_APPEND);
获取来访者ip
function get_real_ip()
{
$ip=FALSE;
//客户端IP 或 NONE
if(!empty($_SERVER["HTTP_CLIENT_IP"])){
$ip = $_SERVER["HTTP_CLIENT_IP"];
}
//多重代理服务器下的客户端真实IP地址(可能伪造),如果没有使用代理,此字段为空
if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }
for ($i = 0; $i < count($ips); $i++) {
if (!eregi ("^(10│172.16│192.168).", $ips[$i])) {
$ip = $ips[$i];
break;
}
}
}
//客户端IP 或 (最后一个)代理服务器 IP
return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);
}
【总结】这个方法要比储存在数据库方便快捷点,并且这个文件访问量不大,完全可以使用文件储存方法保存数据。