PHP获取访客信息

1080阅读 0评论2011-10-30 ulovko
分类:LINUX

  1. /**
  2. * 获取访客信息的类:语言、浏览器、操作系统、IP、地理位置、ISP。
  3. * 日期:2011-09-13
  4. * 作者:
  5. * 使用:
  6. * $obj = new class_guest_info;
  7. * $obj->GetLang(); //获取访客语言:简体中文、繁體中文、English
  8. * $obj->GetBrowser(); //获取访客浏览器:MSIE、Firefox、Chrome、Safari、Opera、Other
  9. * $obj->GetOS(); //获取访客操作系统:Windows、MAC、Linux、Unix、BSD、Other
  10. * $obj->GetIP(); //获取访客IP地址
  11. */
  12. class class_guest_info{
  13. function GetLang() {
  14. $Lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 4);
  15. //使用substr()截取字符串,从 0 位开始,截取4个字符
  16. if (preg_match('/zh-c/i',$Lang)) {
  17. //preg_match()正则表达式匹配函数
  18. $Lang = '简体中文';
  19. }
  20. elseif (preg_match('/zh/i',$Lang)) {
  21. $Lang = '繁體中文';
  22. }
  23. else {
  24. $Lang = 'English';
  25. }
  26. return $Lang;
  27. }
  28. function GetBrowser() {
  29. $Browser = $_SERVER['HTTP_USER_AGENT'];
  30. if (preg_match('/MSIE/i',$Browser)) {
  31. $Browser = 'MSIE';
  32. }
  33. elseif (preg_match('/Firefox/i',$Browser)) {
  34. $Browser = 'Firefox';
  35. }
  36. elseif (preg_match('/Chrome/i',$Browser)) {
  37. $Browser = 'Chrome';
  38. }
  39. elseif (preg_match('/Safari/i',$Browser)) {
  40. $Browser = 'Safari';
  41. }
  42. elseif (preg_match('/Opera/i',$Browser)) {
  43. $Browser = 'Opera';
  44. }
  45. else {
  46. $Browser = 'Other';
  47. }
  48. return $Browser;
  49. }
  50. function GetOS() {
  51. $OS = $_SERVER['HTTP_USER_AGENT'];
  52. if (preg_match('/win/i',$OS)) {
  53. $OS = 'Windows';
  54. }
  55. elseif (preg_match('/mac/i',$OS)) {
  56. $OS = 'MAC';
  57. }
  58. elseif (preg_match('/linux/i',$OS)) {
  59. $OS = 'Linux';
  60. }
  61. elseif (preg_match('/unix/i',$OS)) {
  62. $OS = 'Unix';
  63. }
  64. elseif (preg_match('/bsd/i',$OS)) {
  65. $OS = 'BSD';
  66. }
  67. else {
  68. $OS = 'Other';
  69. }
  70. return $OS;
  71. }
  72. function GetIP() {
  73. if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
  74. //如果变量是非空或非零的值,则 empty()返回 FALSE。
  75. $IP = explode(',',$_SERVER['HTTP_CLIENT_IP']);
  76. }
  77. elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
  78. $IP = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']);
  79. }
  80. elseif (!empty($_SERVER['REMOTE_ADDR'])) {
  81. $IP = explode(',',$_SERVER['REMOTE_ADDR']);
  82. }
  83. else {
  84. $IP[0] = 'None';
  85. }
  86. return $IP[0];
  87. }
  88. }
  89. ?>
  90. 提示:为了省事,可以复制到编辑器 如 mousepad 保存到文件get-guests-info.php;接着
  91. # cat get-guests-info >> functions.php 即可!
  92. 在相应地方调用即可!
  93. 我在这里调用:
  94. # vim sidebar.php
  95. 访客信息:
  96. GetBrowser(); ?> 
  97. GetOS(); ?> 
  98. GetIP(); ?> 
  99. GetLang(); ?>
  100. :wq
上一篇:Basic Wordpress Setup
下一篇:WordPress 统计文章浏览数代码