当前位置:   article > 正文

php获取访客IP、UA、操作系统、浏览器等信息_php实现-浏览器ua解析获得手机、系统、浏览器等信息

php实现-浏览器ua解析获得手机、系统、浏览器等信息

最近有个需求就是获取下本地的ip地址、网上搜索了相关的教程,总结一下分享给大家、有需要的小伙伴可以参考一下

一、简单的获取 User Agent 信息代码:

echo $_SERVER['HTTP_USER_AGENT'];

二、获取访客操作系统信息:

  1. /**
  2. * 获取客户端操作系统信息,包括win10
  3. * @param null
  4. * @return string
  5. */
  6. <?php
  7. function GetOs() {
  8. if (!empty($_SERVER['HTTP_USER_AGENT'])) {
  9. $OS = $_SERVER['HTTP_USER_AGENT'];
  10. if (preg_match('/win/i', $OS)) {
  11. $OS = 'Windows';
  12. } elseif (preg_match('/mac/i', $OS)) {
  13. $OS = 'MAC';
  14. } elseif (preg_match('/linux/i', $OS)) {
  15. $OS = 'Linux';
  16. } elseif (preg_match('/unix/i', $OS)) {
  17. $OS = 'Unix';
  18. } elseif (preg_match('/bsd/i', $OS)) {
  19. $OS = 'BSD';
  20. } else {
  21. $OS = 'Other';
  22. }
  23. return $OS;
  24. } else {
  25. return "获取访客操作系统信息失败!";
  26. }} ?>

三、获取浏览器信息:

  1. <?php
  2. function GetBrowser() {
  3. if (!empty($_SERVER['HTTP_USER_AGENT'])) {
  4. $br = $_SERVER['HTTP_USER_AGENT'];
  5. if (preg_match('/MSIE/i', $br)) {
  6. $br = 'MSIE';
  7. } elseif (preg_match('/Firefox/i', $br)) {
  8. $br = 'Firefox';
  9. } elseif (preg_match('/Chrome/i', $br)) {
  10. $br = 'Chrome';
  11. } elseif (preg_match('/Safari/i', $br)) {
  12. $br = 'Safari';
  13. } elseif (preg_match('/Opera/i', $br)) {
  14. $br = 'Opera';
  15. } else {
  16. $br = 'Other';
  17. }
  18. return $br;
  19. } else {
  20. return "获取浏览器信息失败!";
  21. }} ?>

四、获取客户的 IP 地址

  1. <?php
  2. //获取ip
  3. function getip() {
  4. if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP") , "unknown")) {
  5. $ip = getenv("HTTP_CLIENT_IP");
  6. } else if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR") , "unknown")) {
  7. $ip = getenv("HTTP_X_FORWARDED_FOR");
  8. } else if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR") , "unknown")) {
  9. $ip = getenv("REMOTE_ADDR");
  10. } else if (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown")) {
  11. $ip = $_SERVER['REMOTE_ADDR'];
  12. } else {
  13. $ip = "unknown";
  14. }
  15. return $ip;}

五、补充

补充一下网站使用 CDN 以后无法获取用户真实 IP 的解决方法:

  1. function GetClientIP(){
  2. $ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
  3. if($ip != ""){
  4. $arr = explode(",",$ip);
  5. return $arr[0];
  6. }else{
  7. return $_SERVER["REMOTE_ADDR"];

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/540581
推荐阅读
相关标签
  

闽ICP备14008679号