zoukankan      html  css  js  c++  java
  • php获取客户端浏览器以及操作系统信息的方法

    发布:sunday01   来源:net   阅读: 2   【大 中 小】 

    在较为智能的程序中,php可以获取客户端浏览器及操作系统信息,然后根据浏览器及系统类型,加载不同的页面,以提供更加个性化的服务。 

    使用php获取客户端浏览器与操作系统信息。 

    1、PHP超级全局变量$_SERVER数组中字段['HTTP_USER_AGENT'] 获取访问用户的所有信息 
    以下是一个通过$_SERVER['HTTP_USER_AGENT']获取到的字符串 : 
    Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/533.2 (KHTML, like Gecko) Chrome/5.0.342.3 Safari/533.2 

    2、使用正则表达式匹配以上字符串,用户的浏览器、操作系统信息。 

    3、PHP根据匹配后的字符串(用户的浏览器 操作系统信息),分配需要的CSS、JS等,返回给用户 

    我的浏览器与操作系统信息: 
    Browser: Chrome 5.0 
    Platform: Windows 7 

    下面给出一个完整的例子。 
    <?php 
    //显示访问用户的浏览器信息 
    echo 'Browser: ' . determinebrowser($Agent) . '<BR>'; 
    //显示访问用户的操作系统平台 
    echo 'Platform: ' . determineplatform($Agent). '<BR>'; 

    //link:http://www.jbxue.com 
    //正值表达式比对解析$_SERVER['HTTP_USER_AGENT']中的字符串 获取访问用户的浏览器的信息 

    function determinebrowser ($Agent) { 
    $browseragent=""; //浏览器 
    $browserversion=""; //浏览器的版本 
    if (ereg('MSIE ([0-9].[0-9]{1,2})',$Agent,$version)) { 
    $browserversion=$version[1]; 
    $browseragent="Internet Explorer"; 
    else if (ereg( 'Opera/([0-9]{1,2}.[0-9]{1,2})',$Agent,$version)) { 
    $browserversion=$version[1]; 
    $browseragent="Opera"; 
    else if (ereg( 'Firefox/([0-9.]{1,5})',$Agent,$version)) { 
    $browserversion=$version[1]; 
    $browseragent="Firefox"; 
    }else if (ereg( 'Chrome/([0-9.]{1,3})',$Agent,$version)) { 
    $browserversion=$version[1]; 
    $browseragent="Chrome"; 

    else if (ereg( 'Safari/([0-9.]{1,3})',$Agent,$version)) { 
    $browseragent="Safari"; 
    $browserversion=""; 

    else { 
    $browserversion=""; 
    $browseragent="Unknown"; 

    return $browseragent." ".$browserversion


    // 同理获取访问用户的浏览器的信息 
    function determineplatform ($Agent) { 
    $browserplatform==''; 
    if (eregi('win',$Agent) && strpos($Agent, '95')) { 
    $browserplatform="Windows 95"; 

    elseif (eregi('win 9x',$Agent) && strpos($Agent, '4.90')) { 
    $browserplatform="Windows ME"; 

    elseif (eregi('win',$Agent) && ereg('98',$Agent)) { 
    $browserplatform="Windows 98"; 

    elseif (eregi('win',$Agent) && eregi('nt 5.0',$Agent)) { 
    $browserplatform="Windows 2000"; 

    elseif (eregi('win',$Agent) && eregi('nt 5.1',$Agent)) { 
    $browserplatform="Windows XP"; 

    elseif (eregi('win',$Agent) && eregi('nt 6.0',$Agent)) { 
    $browserplatform="Windows Vista"; 

    elseif (eregi('win',$Agent) && eregi('nt 6.1',$Agent)) { 
    $browserplatform="Windows 7"; 

    elseif (eregi('win',$Agent) && ereg('32',$Agent)) { 
    $browserplatform="Windows 32"; 

    elseif (eregi('win',$Agent) && eregi('nt',$Agent)) { 
    $browserplatform="Windows NT"; 
    }elseif (eregi('Mac OS',$Agent)) { 
    $browserplatform="Mac OS"; 

    elseif (eregi('linux',$Agent)) { 
    $browserplatform="Linux"; 

    elseif (eregi('unix',$Agent)) { 
    $browserplatform="Unix"; 

    elseif (eregi('sun',$Agent) && eregi('os',$Agent)) { 
    $browserplatform="SunOS"; 

    elseif (eregi('ibm',$Agent) && eregi('os',$Agent)) { 
    $browserplatform="IBM OS/2"; 

    elseif (eregi('Mac',$Agent) && eregi('PC',$Agent)) { 
    $browserplatform="Macintosh"; 

    elseif (eregi('PowerPC',$Agent)) { 
    $browserplatform="PowerPC"; 

    elseif (eregi('AIX',$Agent)) { 
    $browserplatform="AIX"; 

    elseif (eregi('HPUX',$Agent)) { 
    $browserplatform="HPUX"; 

    elseif (eregi('NetBSD',$Agent)) { 
    $browserplatform="NetBSD"; 

    elseif (eregi('BSD',$Agent)) { 
    $browserplatform="BSD"; 

    elseif (ereg('OSF1',$Agent)) { 
    $browserplatform="OSF1"; 

    elseif (ereg('IRIX',$Agent)) { 
    $browserplatform="IRIX"; 

    elseif (eregi('FreeBSD',$Agent)) { 
    $browserplatform="FreeBSD"; 

    if ($browserplatform=='') {$browserplatform = "Unknown"; } 
    return $browserplatform

    ?> 

    原始链接:http://www.jbxue.com/article/6229.html
  • 相关阅读:
    流程数据库的归档
    [转载]利用老毛桃WinPE制作启动U盘安装系统
    [转载]分享日志 Word,PDF,PPT,TXT之间的转换方法
    编程书籍推荐(转)
    ArcGIS教程下载 系列 ArcMap教程下载 ArcCatlog 教程下载 等的学习资料下载 (google文档 可以直接查看 也可以下载)
    JDK 1.6 下载 地址
    (转)MapXtreme for Java 精华文章
    Java2D Tutorial(方便自己找)
    JFC:Java
    转自百度百科《OpenGL》
  • 原文地址:https://www.cnblogs.com/linuxnotes/p/3497076.html
Copyright © 2011-2022 走看看