如何用php程序记录来访IP
关注:226 答案:4 手机版
解决时间 2021-02-16 00:05
提问者失夜久伴你
2021-02-15 01:22
如何用php程序获取来访IP,然后保存在txt文件中,并且只保留最新的30个数据.
最佳答案
二级知识专家追尋☆①秒方向
2021-02-15 02:19
有一个全局的变量,$_SERVER[RMOTE_ADDR]可以获取,
然后只要写到文件里就可以了
1
2 <?php
3 $fp = fopen('iprecord.txt','ar+');
4 $i = 1;
5 if(filesize('./iprecord.txt') > 0)
6 {
7 $t = array();
8 $content = fread($fp,filesize('./iprecord.txt'));
9 $t = split("\n",$content);
10 $i = sizeof($t);
11 }
12 $record = $i.' ip: '.$_SERVER['REMOTE_ADDR']."\n";
13 fwrite($fp,$record);
14 fclose($fp);
15 ?>
16
全部回答
1楼假装安慰
2021-02-15 05:38
$ips_filename = "ipdata.txt;
$ipfiles = @file($ips_filename);
$num = count($ipfiles);
if($num >= 30){
$nbs = $num - 30 ;
for($j = 0;$j<30;$j++){
$data[] = $ipfiles[$nbs+$j];
}
}
else $data = $ipfiles;
$data[] = $_SERVER["REMOTE_ADDR"];
$data2str = implode("",$data);
@unlink($ips_filename);
file_put_contents($ips_filename,$data2str);
?>
2楼清和十五
2021-02-15 04:57
有一个全局的变量,$_server[rmote_addr]可以获取, 然后只要写到文件里就可以了 1
2 <?php 3 $fp = fopen('iprecord.txt','ar+'); 4 $i = 1; 5 if(filesize('./iprecord.txt') > 0) 6 { 7 $t = array(); 8 $content = fread($fp,filesize('./iprecord.txt')); 9 $t = split("\n",$content); 10 $i = sizeof($t); 11 } 12 $record = $i.' ip: '.$_server['remote_addr']."\n"; 13 fwrite($fp,$record); 14 fclose($fp); 15 ?> 16
3楼何必执着
2021-02-15 03:24
有一个全局的变量,$_SERVER[RMOTE_ADDR]可以获取,
然后只要写到文件里就可以了
1
2 <?php
3 $fp = fopen('iprecord.txt','ar+');
4 $i = 1;
5 if(filesize('./iprecord.txt') > 0)
6 {
7 $t = array();
8 $content = fread($fp,filesize('./iprecord.txt'));
9 $t = split("\n",$content);
10 $i = sizeof($t);
11 }
12 $record = $i.' ip: '.$_SERVER['REMOTE_ADDR']."\n";
13 fwrite($fp,$record);
14 fclose($fp);
15 ?>
16
引楼上的
最好写数据库里面 然后再用 array_unique()函数移除重复的ip
我要举报
如以上信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
推荐资讯
大家都在看