当前位置:首页 » 编程语言 » php记录日志

php记录日志

发布时间: 2025-06-17 23:37:04

1. php怎么记录访问者ip并生成日志

php获取访问者IP地址汇总

在很我的时候我们需要得到用户的真实IP地址,例如,日志记录,地理定位,将用户信息,网站数据分析等,其实获取IP地址很简单$_SERVER[\'REMOTE_ADDR\']就可以了。下面我们就来给大家汇总一下常用的几种获取IP地址的方法。

//方法1:

$ip = $_SERVER["REMOTE_ADDR"];

echo $ip;

//方法2:

代码如下:

$user_IP = ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"];

$user_IP = ($user_IP) ? $user_IP : $_SERVER["REMOTE_ADDR"];

echo $user_IP;

//方法3:

function getRealIp()

{

$ip=false;

if(!empty($_SERVER["HTTP_CLIENT_IP"])){

$ip = $_SERVER["HTTP_CLIENT_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;

}

}

}

return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);

}

echo getRealIp();

//方法4:

if ($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"])

{

$ip = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"];

}

elseif ($HTTP_SERVER_VARS["HTTP_CLIENT_IP"])

{

$ip = $HTTP_SERVER_VARS["HTTP_CLIENT_IP"];

}

elseif ($HTTP_SERVER_VARS["REMOTE_ADDR"])

{

$ip = $HTTP_SERVER_VARS["REMOTE_ADDR"];

}

elseif (getenv("HTTP_X_FORWARDED_FOR"))

{

$ip = getenv("HTTP_X_FORWARDED_FOR");

}

elseif (getenv("HTTP_CLIENT_IP"))

{

$ip = getenv("HTTP_CLIENT_IP");

}

elseif (getenv("REMOTE_ADDR"))

{

$ip = getenv("REMOTE_ADDR");

}

else

{

$ip = "Unknown";

}

echo $ip ;

//方法5:

if(getenv('HTTP_CLIENT_IP')) {

$onlineip = getenv('HTTP_CLIENT_IP');

} elseif(getenv('HTTP_X_FORWARDED_FOR')) {

$onlineip = getenv('HTTP_X_FORWARDED_FOR');

} elseif(getenv('REMOTE_ADDR')) {

$onlineip = getenv('REMOTE_ADDR');

} else {

$onlineip = $HTTP_SERVER_VARS['REMOTE_ADDR'];

}

echo $onlineip;

//方法6:

print "您的IP地址是:";

if(!empty($_SERVER["HTTP_CLIENT_IP"])){

$cip = $_SERVER["HTTP_CLIENT_IP"];

}

elseif(!empty($_SERVER["HTTP_X_FORWARDED_FOR"])){

$cip = $_SERVER["HTTP_X_FORWARDED_FOR"];

}

elseif(!empty($_SERVER["REMOTE_ADDR"])){

$cip = $_SERVER["REMOTE_ADDR"];

}

else{

$cip = "无法获取!";

}

print $cip;

保存TEXT中

<?php

$ip = $_SERVER['REMOTE_ADDR'];
$time = gmdate("H:i:s",time()+8*3600);
$file = "123.txt" ;
$fp=fopen ("123.txt","a") ;

$txt= "$ip"."----"."$time"."\n";
fputs($fp,$txt);

?>

2. php日志类

首先,你得有一个“日志类”,明显PHP并没有内置,所以你需要自己编写这个类。


日志模块的大概设计思路如下:

1、你得有一个数据表,记录所有的用户行为。

2、你得写一个“日志类”,这个类至少有一个方法:向数据表写入日志信息


那日志信息从哪里来呢?

在你想记录日志的地方,调用日志类的方法来触发写入动作。


比如(伪代码):

if(用户登录成功){
$日志类=new日志类();
$日志类->插入数据("登录日志","登录成功","username=a;password=b","IP"...)
}

如果你想做日志的查询功能,显然你要给日志类加更多方法..

3. PHP自带的日志是怎么写入和查看的呢

查看PHP错误日志
可以在命令行里面输入: find . -name error.log
tailf -f error.log
写入日志,有固定的函数error_log($str, 3, filename)

热点内容
c语言编程设计 发布:2025-06-18 02:14:56 浏览:342
编程画图颜色 发布:2025-06-18 01:59:09 浏览:4
根据ip就近分配服务器 发布:2025-06-18 01:52:32 浏览:221
优米服务器工具是什么 发布:2025-06-18 01:50:18 浏览:142
大学生解压拓展多少钱一个人 发布:2025-06-18 01:38:48 浏览:567
python去小数点后两位 发布:2025-06-18 01:37:09 浏览:133
布吉岛服务器IP地址 发布:2025-06-18 01:32:30 浏览:317
php程序的调用 发布:2025-06-18 01:31:47 浏览:707
零基础学习c语言小甲鱼 发布:2025-06-18 01:19:46 浏览:680
c语言培训老师 发布:2025-06-18 01:13:19 浏览:303