当前位置:Gxlcms > PHP教程 > php实现获取访客信息的实例分析

php实现获取访客信息的实例分析

时间:2021-07-01 10:21:17 帮助过:6人阅读

php实现获取访客信息的实例分析

  1. <?php
  2. header('Content-Type: text/html; charset=utf-8');
  3. //获取访客的信息
  4. class visitorInfo
  5. {
  6. //获取访客ip
  7. public function getIp()
  8. {
  9. $ip=false;
  10. if(!emptyempty($_SERVER["HTTP_CLIENT_IP"])){
  11. $ip = $_SERVER["HTTP_CLIENT_IP"];
  12. }
  13. if (!emptyempty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
  14. $ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
  15. if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }
  16. for ($i = 0; $i < count($ips); $i++) {
  17. if (!eregi ("^(10│172.16│192.168).", $ips[$i])) {
  18. $ip = $ips[$i];
  19. break;
  20. }
  21. }
  22. }
  23. return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);
  24. }
  25. //根据ip获取城市、网络运营商等信息
  26. public function findCityByIp($ip){
  27. $data = file_get_contents('http://ip.taobao.com/service/getIpInfo.php?ip='.$ip);
  28. return json_decode($data,$assoc=true);
  29. }
  30. //获取用户浏览器类型
  31. public function getBrowser(){
  32. $agent=$_SERVER["HTTP_USER_AGENT"];
  33. if(strpos($agent,'MSIE')!==false || strpos($agent,'rv:11.0'))
  34. return "ie";
  35. else if(strpos($agent,'Firefox')!==false)
  36. return "firefox";
  37. else if(strpos($agent,'Chrome')!==false)
  38. return "chrome";
  39. else if(strpos($agent,'Opera')!==false)
  40. return 'opera';
  41. else if((strpos($agent,'Chrome')==false)&&strpos($agent,'Safari')!==false)
  42. return 'safari';
  43. else
  44. return 'unknown';
  45. }
  46. //获取网站来源
  47. public function getFromPage(){
  48. if(isset($_SERVER['HTTP_REFERER']))
  49. return $_SERVER['HTTP_REFERER'];
  50. else if(strpos($_SERVER['QUERY_STRING'], '?'))
  51. return 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'];
  52. else
  53. return 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
  54. }
  55. }
  56. $v = new visitorInfo();
  57. echo $v -> getIp(),PHP_EOL;
  58. var_dump($v->findCityByIp('101.201.174.210'));
  59. echo $v->getBrowser(),PHP_EOL;
  60. echo $v->getFromPage(),PHP_EOL;

效果图:

P}}M{G%9HGJ[IH9]}[NOEJE.png

以上就是php实现获取访客信息的实例分析的详细内容,更多请关注Gxl网其它相关文章!

人气教程排行