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

php获取用户系统名称信息

查看:1700  回复: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 添加 redis 3.2.9 开机启动脚本   阅读:3375用php从1乘到100的值   阅读:2205session与cookie的区别   阅读:1606web项目高并发量网站解决方案   阅读:1445csv文件一键导入数据到mysql数据库   阅读:2276centos 7 修改系统屏幕分辨率   阅读:16351mysql数据库性能的基本优化   阅读:1869php 读取和设置redis的键值   阅读:2918php中地址引用&的真正理解-变量引用、函数引用、对象引用   阅读:1634给 centos 7 安装桌面环境   阅读:8627ajax+php 实现一个简单的在线聊天室功能(附带源码)   阅读:3286网站局部小图片优化-base64编码图片   阅读:2842centos 7 修改系统屏幕分辨率   阅读:16351html5 离线缓存的使用   阅读:1537人性漫画:打工与创业的残酷区别   阅读:1478最简单的Banner轮播左右切换效果代码及实现思路(附带源码)   阅读:13772linux时间戳有趣的情人节秒1234567890   阅读:1391Nginx 配置文件详解   阅读:1666linux rarcrack破解rar、zip和7z压缩包简单密码的工具   阅读:2672一键分享到QQ空间、QQ好友、新浪微博、微信代码   阅读:11529web项目高并发量网站解决方案   阅读:1445最新centos7 搭建LNMP环境(centos7.2+php7+mysql5.7+nginx1.11+redis3.2)   阅读:4436比phpexcel还要简单的excel CSV 一键导入数据到数据库   阅读:1975移动端js触摸touch详解(附带案例源码)   阅读:5009栈和堆的区别   阅读:1518mysql 为什么添加索引可以提高访问速度   阅读:1995霍金24岁博士毕业论文在线预览   阅读:1559把php session 会话保存到redis   阅读:2426phpexcel 超简单从excel表格一键导入数据到数据库教程   阅读:5461给网站添加一键新浪微博登录的功能   阅读:2634爱编程,也爱健康   阅读:1175用php从1乘到100的值   阅读:2205phpexcel 超简单从数据库一键导出数据到excel教程   阅读:2449php显示刚刚、几分钟前、几小时前、几天前的函数   阅读:2165十张GIF让你弄懂递归等概念   阅读:1846封装php redis缓存操作类   阅读:2160分享:淘宝技术这十年   阅读:1699php压缩页面的html代码一行显示   阅读:2270php+redis实现消息队列   阅读:1174网站性能优化-页面静态缓存   阅读:1988php连接redis   阅读:2087php 读取和设置redis的键值   阅读:2918mysql中文分词全文搜索索引讯搜的安装   阅读:1919解决 nginx 413 request entity too large   阅读:1440纯干货,程序员面试的超实用技巧   阅读:1388centos 7.2 添加php7 的 php-fpm 开机启动   阅读:9422shell脚本统计当前服务器并发连接数   阅读:2058centos 7 安装 samba 服务   阅读:1858centos 7 忘记root密码   阅读:1398csv文件一键导入数据到mysql数据库   阅读:2276