欢迎来到php自学网~
阅读模式:

php获取用户系统名称信息

查看:1571  回复:0  类型:  来源:php自学网  标签 php

    php通过用户代理头获取来访用户的系统名信息,使用超全局变量$_SERVER['HTTP_USER_AGENT']返回字符串进行匹配得到相应的系统名称

详细代码:

function get_os(){

    $agent = $_SERVER['HTTP_USER_AGENT'];
    $os = false;
 
    if (preg_match('/win/i', $agent) && strpos($agent, '95'))
    {
    
      $os = 'Windows 95';
      
    }
    else if (preg_match('/win 9x/i', $agent) && strpos($agent, '4.90'))
    {
    
      $os = 'Windows ME';
      
    }
    else if (preg_match('/win/i', $agent) && preg_match('/98/i', $agent))
    {
    
      $os = 'Windows 98';
      
    }
    else if (preg_match('/win/i', $agent) && preg_match('/nt 6.0/i', $agent))
    {
    
      $os = 'Windows Vista';
      
    }
    else if (preg_match('/win/i', $agent) && preg_match('/nt 6.1/i', $agent))
    {
    
      $os = 'Windows 7';
      
    }
      else if (preg_match('/win/i', $agent) && preg_match('/nt 6.2/i', $agent))
    {
    
      $os = 'Windows 8';
      
    }else if(preg_match('/win/i', $agent) && preg_match('/nt 10.0/i', $agent))
    {
    
      $os = 'Windows 10';
      
    }else if (preg_match('/win/i', $agent) && preg_match('/nt 5.1/i', $agent))
    {
    
      $os = 'Windows XP';
      
    }
    else if (preg_match('/win/i', $agent) && preg_match('/nt 5/i', $agent))
    {
    
      $os = 'Windows 2000';
      
    }
    else if (preg_match('/win/i', $agent) && preg_match('/nt/i', $agent))
    {
    
      $os = 'Windows NT';
      
    }
    else if (preg_match('/win/i', $agent) && preg_match('/32/i', $agent))
    {
    
      $os = 'Windows 32';
      
    }
    else if (preg_match('/linux/i', $agent))
    {
    
      $os = 'Linux';
      
    }
    else if (preg_match('/unix/i', $agent))
    {
    
      $os = 'Unix';
      
    }
    else if (preg_match('/sun/i', $agent) && preg_match('/os/i', $agent))
    {
    
      $os = 'SunOS';
      
    }
    else if (preg_match('/ibm/i', $agent) && preg_match('/os/i', $agent))
    {
    
      $os = 'IBM OS/2';
      
    }
    else if (preg_match('/Mac/i', $agent) && preg_match('/PC/i', $agent))
    {
    
      $os = 'Macintosh';
      
    }
    else if (preg_match('/PowerPC/i', $agent))
    {
    
      $os = 'PowerPC';
      
    }
    else if (preg_match('/AIX/i', $agent))
    {
    
      $os = 'AIX';
      
    }
    else if (preg_match('/HPUX/i', $agent))
    {
    
      $os = 'HPUX';
      
    }
    else if (preg_match('/NetBSD/i', $agent))
    {
    
      $os = 'NetBSD';
      
    }
    else if (preg_match('/BSD/i', $agent))
    {
    
      $os = 'BSD';
      
    }
    else if (preg_match('/OSF1/i', $agent))
    {
    
      $os = 'OSF1';
      
    }
    else if (preg_match('/IRIX/i', $agent))
    {
    
      $os = 'IRIX';
      
    }
    else if (preg_match('/FreeBSD/i', $agent))
    {
    
      $os = 'FreeBSD';
      
    }
    else if (preg_match('/teleport/i', $agent))
    {
    
      $os = 'teleport';
      
    }
    else if (preg_match('/flashget/i', $agent))
    {
    
      $os = 'flashget';
      
    }
    else if (preg_match('/webzip/i', $agent))
    {
    
      $os = 'webzip';
      
    }
    else if (preg_match('/offline/i', $agent))
    {
    
      $os = 'offline';
      
    }else if (preg_match('/iPhone OS 8/i', $agent))
    {
    
      $os = 'iOS 8';
      
    }else if (preg_match('/YisouSpider/i', $agent))
    {
    
      $os = '一搜引擎';
      
    }else if (preg_match('/Yahoo! Slurp/i', $agent))
    {
    
      $os = '雅虎引擎';
      
    }else if (preg_match('/iPhone OS 6/i', $agent))
    {
    
      $os = 'iOS 6';
      
    }
    else if (preg_match('/Baiduspider/i', $agent))
    {
    
      $os = '百度引擎';
      
    }else if (preg_match('/iPhone OS 10/i', $agent))
    {
    
      $os = 'iOS 10';
      
    }else if (preg_match('/Mac OS X 10/i', $agent))
    {
    
      $os = 'Mac OS 10';
      
    }
    else if (preg_match('/Ahrefs/i', $agent))
    {
    
      $os = 'Ahrefs SEO 引擎';
      
    }
    else if (preg_match('/JikeSpider/i', $agent))
    {
    
      $os = '即刻引擎';
      
    }else if (preg_match('/Googlebot/i', $agent))
    {
    
      $os = '谷歌引擎';
      
    }else if(preg_match('/bingbot/i',$agent))
    {
    
        $os = '必应引擎';
         
    }else if(preg_match('/iPhone OS 7/i',$agent))
    {
    
        $os = 'iOS 7';
        
    }else if(preg_match('/Sogou web spider/i',$agent))
    {
    
        $os = '搜狗引擎';
        
    }else if(preg_match('/IP-Guide.com Crawler/i',$agent))
    {
    
        $os = 'IP-Guide Crawler 引擎';
        
    }else if(preg_match('/VenusCrawler/i',$agent))
    {
    
        $os = 'VenusCrawler 引擎';
        
    }
    else
    {
    
      $os = $agent;
      
    }
    
    return $os;
      
   }


分享到:
0 0

*有问题之处烦请在评论中指出非常感谢!
不是我想要的内容,继续搜索:

扫描二维码手机查看

发布评论:


登录:
  表情:
评论话题
推荐阅读:
centos 7 安装 samba 服务   阅读:1674移动端自适应rem原理   阅读:4857web项目高并发量网站解决方案   阅读:1334centos 7 开启网络   阅读:1646企业让你去面试,可能不是真的招人   阅读:1630mysql中文分词全文搜索索引讯搜的安装   阅读:1733简单的DOS攻击之死亡之ping详解   阅读:12068用php从1乘到100的值   阅读:2040crontab+shell脚本实现定时备份mysql数据库   阅读:1800nginx编译安装后对nginx进行平滑升级   阅读:370HTTP 1.1 协议详解   阅读:1827centos7开启交换内存   阅读:2445php冒泡排序法   阅读:1468mysql中文分词全文搜索索引讯搜的安装   阅读:1733linux rarcrack破解rar、zip和7z压缩包简单密码的工具   阅读:2316linux top命令详解   阅读:1507纯干货,程序员面试的超实用技巧   阅读:1288php+redis实现消息队列   阅读:843一步步带你,如何网站架构   阅读:1368csv文件一键导入数据到mysql数据库   阅读:2124centos7开启交换内存   阅读:2445Mysql在大型网站的应用架构演变   阅读:1637centos 7 修改系统屏幕分辨率   阅读:15119centos7开启交换内存   阅读:2445centos7.3安装mongodb3.6   阅读:1997linux rarcrack破解rar、zip和7z压缩包简单密码的工具   阅读:2316十张GIF让你弄懂递归等概念   阅读:1710centos 7 设置 nginx-1.11.10 开机启动   阅读:2661小米手机端商城rem适配原理   阅读:2892用php从1加到100的值   阅读:3021centos7.3安装mongodb3.6   阅读:1997crontab+shell脚本实现定时备份mysql数据库   阅读:1800php压缩页面的html代码一行显示   阅读:2053centos 7 安装 mysql-5.7   阅读:2063javascript点击复制内容   阅读:1622linux php7编译安装mongodb扩展   阅读:1467web性能测试工具ab的测试方法   阅读:1469shell脚本统计当前服务器并发连接数   阅读:1860linux教程,鸟哥私房菜(pdf全集)   阅读:1677栈和堆的区别   阅读:1394用php从1乘到100的值   阅读:2040php连接redis   阅读:1946最简单的Banner轮播左右切换效果代码及实现思路(附带源码)   阅读:12591纯干货,程序员面试的超实用技巧   阅读:1288浅谈javascript的函数节流   阅读:1383php 读取和设置redis的键值   阅读:2714centos 7.2 添加php7 的 php-fpm 开机启动   阅读:8632shell脚本统计当前服务器并发连接数   阅读:1860网站性能优化-页面静态缓存   阅读:1836centos 7 添加 redis 3.2.9 开机启动脚本   阅读:3126