【PHP】Emlog6.01测试版利用PHP+文本与与接口实现蜘蛛、网页访问记录、访问统计、IP准确定位
无聊,总是想想。。。
1、PHP怎么简单实现PHP结合文本记录用户访问信息?
2、PHP如何利用访问信息统计人数
3、PHP如何自动判断该ip访问次数
4、PHP如何获取访问IP的准确定位位置
下面请百度一一网,实测效果如下图:
PHP实现Emlog6.01测试版利用PHP+文本与与接口实现蜘蛛、网页访问记录、访问统计、IP准确定位项目源代码如下:
<?php //PHP如何统计用户访问流量(人数,访问次数,用户IP) //假设用户访问,PHP获取当前IP地址 //PHP GET IP 信息脚本 function getip1() { if (isset($_SERVER)) { if (isset($_SERVER[HTTP_X_FORWARDED_FOR]) && strcasecmp($_SERVER[HTTP_X_FORWARDED_FOR], "unknown"))//代理 { $proyy = $_SERVER[HTTP_X_FORWARDED_FOR]; } elseif(isset($_SERVER[HTTP_CLIENT_IP]) && strcasecmp($_SERVER[HTTP_CLIENT_IP], "unknown")) { $proyy = $_SERVER[HTTP_CLIENT_IP]; } elseif(isset($_SERVER[REMOTE_ADDR]) && strcasecmp($_SERVER[REMOTE_ADDR], "unknown")) { $proyy = $_SERVER[REMOTE_ADDR]; } else { $proyy = 'unknown'; } } else { if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown")) { $proyy = getenv("HTTP_X_FORWARDED_FOR"); } elseif(getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown")) { $proyy = getenv("HTTP_CLIENT_IP"); } elseif(getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown")) { $proyy = getenv("REMOTE_ADDR"); } else { $proyy = 'unknown'; } } return $proyy; }
//PHP GET IP 信息脚本
$remote = getip1(); //PHP get ip localtion function getip2($ip) { $url="https://ip.taobao.com/service/getIpInfo.php?ip=".$ip; $ipinfo=json_decode(file_get_contents($url)); if($ipinfo->code=='1'){ return false; } $city = $ipinfo->data->country.$ipinfo->data->area.$ipinfo->data->region." ".$ipinfo->data->city.$ipinfo->data->county." ".$ipinfo->data->isp."网络"; return $city; }
//PHP get ip localtion
$remoted =getip2($remote); //PHP实现文本拼凑要写入到文件的数据:ip|2018-09-01 12:00:00 $write = $remote . '|' . date('Y-m-d H:i:s'); //php输出信息:一一网络网页已经被第几次访问,当前用户是第几次来访问 $str = file_get_contents('record.txt'); //PHP定义一个变量保存当前用户的点击次数 $clickcount = 1; //PHP判断当前有没有记录访问信息 if($str){ //有数据 //PHP以行区分当前文件有多少行 $rows = explode("\r\n",$str); //PHP获取已经访问过的用户的数量 $count = count($rows) + 1; //PHP判断当前用户是第几次访问该网页 foreach($rows as $value){ //PHP value代表一个访问记录 $ip = explode("|",$value); //PHP判读是不是当前用户查看的 if($ip[0] == $remote){ //PHP以前访问的记录与当前用户的ip相同 $clickcount++; } } //PHP修改write $write = "\r\n" . $write; }else{ //PHP判断当前用户是第一个来访问该网页 $count = 1; } //PHP保存文本写入数据 file_put_contents('record.txt',$write,FILE_APPEND); //PHPecho输出信息 echo "<br/> 您的IP地址为: {$remote} <br/><br/> 来自: {$remoted} <br/>"; echo "<br/> 当前网页已经是第 {$count} 次被访问<br/>"; //PHP文本同步!!!!!! $counter1=1; if(file_exists("mycounter.txt")){ $fp=fopen("mycounter.txt","r"); $counter1=$count; fclose($fp);} $fp=fopen("mycounter.txt","w"); fputs($fp,$counter1); fclose($fp); echo "<br/> 恭喜您是第 {$clickcount} 次来访问一一网络!<br/><br/> "; ?>
OK,PHP脚本结束,欢迎大家自行搭建emlog6.1测试版去实际测试!
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END