zoukankan      html  css  js  c++  java
  • php判断客户端浏览器类型

    /**
     * 判断浏览器名称和版本
     */
    function get_user_browser()
    {
        if (empty($_SERVER['HTTP_USER_AGENT']))
        {
            return '';
        }
      
        $agent       = $_SERVER['HTTP_USER_AGENT'];
        $browser     = '';
        $browser_ver = '';
      
        if (preg_match('/MSIEs([^s|;]+)/i', $agent, $regs))
        {
            $browser     = 'Internet Explorer';
            $browser_ver = $regs[1];
        }
        elseif (preg_match('/FireFox/([^s]+)/i', $agent, $regs))
        {
            $browser     = 'FireFox';
            $browser_ver = $regs[1];
        }
        elseif (preg_match('/Maxthon/i', $agent, $regs))
        {
            $browser     = '(Internet Explorer ' .$browser_ver. ') Maxthon';
            $browser_ver = '';
        }
        elseif (preg_match('/Opera[s|/]([^s]+)/i', $agent, $regs))
        {
            $browser     = 'Opera';
            $browser_ver = $regs[1];
        }
        elseif (preg_match('/OmniWeb/(v*)([^s|;]+)/i', $agent, $regs))
        {
            $browser     = 'OmniWeb';
            $browser_ver = $regs[2];
        }
        elseif (preg_match('/Netscape([d]*)/([^s]+)/i', $agent, $regs))
        {
            $browser     = 'Netscape';
            $browser_ver = $regs[2];
        }
        elseif (preg_match('/safari/([^s]+)/i', $agent, $regs))
        {
            $browser     = 'Safari';
            $browser_ver = $regs[1];
        }
        elseif (preg_match('/NetCaptors([^s|;]+)/i', $agent, $regs))
        {
            $browser     = '(Internet Explorer ' .$browser_ver. ') NetCaptor';
            $browser_ver = $regs[1];
        }
        elseif (preg_match('/Lynx/([^s]+)/i', $agent, $regs))
        {
            $browser     = 'Lynx';
            $browser_ver = $regs[1];
        }
      
        if (!empty($browser))
        {
           return addslashes($browser . ' ' . $browser_ver);
        }
        else
        {
            return 'Unknow browser';
        }
    }
  • 相关阅读:
    月薪3万+的大数据人都在疯学Flink,为什么?
    Flink应用场景
    Flink生态与未来
    flink学习笔记-split & select(拆分流)
    .NET MVC5简介(四)Filter和AuthorizeAttribute权限验证
    .NET MVC5简介(三)Result
    .NET MVC5简介(二)
    VUE基础实用技巧
    .NET MVC5简介(一)
    WebApi简介
  • 原文地址:https://www.cnblogs.com/objects/p/7122656.html
Copyright © 2011-2022 走看看