• php判断操作系统版本及浏览器版本的函数超级好用哦!


    1 <?php
    2  /**
    3 * 取得阅读器名称和版本
    4 *
    5 * @access public
    6 * @return string
    7 */
    8 function getbrowser()
    9 {
    10 global $_SERVER;
    11
    12 $agent= $_SERVER['HTTP_USER_AGENT'];
    13 $browser= '';
    14 $browser_ver= '';
    15
    16 if (preg_match('/OmniWeb\/(v*)([^\s|;]+)/i', $agent, $regs))
    17 {
    18 $browser='OmniWeb';
    19 $browser_ver= $regs[2];
    20 }
    21
    22 if (preg_match('/Netscape([\d]*)\/([^\s]+)/i', $agent, $regs))
    23 {
    24 $browser='Netscape';
    25 $browser_ver= $regs[2];
    26 }
    27
    28 if (preg_match('/safari\/([^\s]+)/i', $agent, $regs))
    29 {
    30 $browser='Safari';
    31 $browser_ver=$regs[1];
    32 }
    33
    34 if (preg_match('/MSIE\s([^\s|;]+)/i', $agent, $regs))
    35 {
    36 $browser='Internet Explorer';
    37 $browser_ver= $regs[1];
    38 }
    39
    40 if (preg_match('/Opera[\s|\/]([^\s]+)/i', $agent, $regs))
    41 {
    42 $browser='Opera';
    43 $browser_ver=$regs[1];
    44 }
    45
    46 if (preg_match('/NetCaptor\s([^\s|;]+)/i', $agent, $regs))
    47 {
    48 $browser='(Internet Explorer ' .$browser_ver. ') NetCaptor';
    49 $browser_ver= $regs[1];
    50 }
    51
    52 if (preg_match('/Maxthon/i', $agent, $regs))
    53 {
    54 $browser='(Internet Explorer ' .$browser_ver. ') Maxthon';
    55 $browser_ver='';
    56 }
    57
    58 if (preg_match('/FireFox\/([^\s]+)/i', $agent, $regs))
    59 {
    60 $browser='FireFox';
    61 $browser_ver=$regs[1];
    62 }
    63
    64 if (preg_match('/Lynx\/([^\s]+)/i', $agent, $regs))
    65 {
    66 $browser='Lynx';
    67 $browser_ver=$regs[1];
    68 }
    69
    70 if ($browser != '')
    71 {
    72 return $browser.' '.$browser_ver;
    73 }
    74 else
    75 {
    76 return 'Unknow browser';
    77 }
    78 }
    79
    80 /**
    81 * 取得客户真个操作体系
    82 *
    83 * @access private
    84 * @return void
    85 */
    86 function get_os()
    87 {
    88 $agent = $_SERVER['HTTP_USER_AGENT'];
    89 $os = false;
    90
    91 if (eregi('win', $agent) && strpos($agent, '95'))
    92 {
    93 $os = 'Windows 95';
    94 }
    95 else if (eregi('win 9x', $agent) && strpos($agent, '4.90'))
    96 {
    97 $os = 'Windows ME';
    98 }
    99 else if (eregi('win', $agent) && ereg('98', $agent))
    100 {
    101 $os = 'Windows 98';
    102 }
    103 else if (eregi('win', $agent) && eregi('nt 6.0', $agent))
    104 {
    105 $os = 'Windows Vista';
    106 }
    107 else if (eregi('win', $agent) && eregi('nt 6.1', $agent))
    108 {
    109 $os = 'Windows 7';
    110 }
    111 else if (eregi('win', $agent) && eregi('nt 5.1', $agent))
    112 {
    113 $os = 'Windows XP';
    114 }
    115 else if (eregi('win', $agent) && eregi('nt 5', $agent))
    116 {
    117 $os = 'Windows 2000';
    118 }
    119 else if (eregi('win', $agent) && eregi('nt', $agent))
    120 {
    121 $os = 'Windows NT';
    122 }
    123 else if (eregi('win', $agent) && ereg('32', $agent))
    124 {
    125 $os = 'Windows 32';
    126 }
    127 else if (eregi('linux', $agent))
    128 {
    129 $os = 'Linux';
    130 }
    131 else if (eregi('unix', $agent))
    132 {
    133 $os = 'Unix';
    134 }
    135 else if (eregi('sun', $agent) && eregi('os', $agent))
    136 {
    137 $os = 'SunOS';
    138 }
    139 else if (eregi('ibm', $agent) && eregi('os', $agent))
    140 {
    141 $os = 'IBM OS/2';
    142 }
    143 else if (eregi('Mac', $agent) && eregi('PC', $agent))
    144 {
    145 $os = 'Macintosh';
    146 }
    147 else if (eregi('PowerPC', $agent))
    148 {
    149 $os = 'PowerPC';
    150 }
    151 else if (eregi('AIX', $agent))
    152 {
    153 $os = 'AIX';
    154 }
    155 else if (eregi('HPUX', $agent))
    156 {
    157 $os = 'HPUX';
    158 }
    159 else if (eregi('NetBSD', $agent))
    160 {
    161 $os = 'NetBSD';
    162 }
    163 else if (eregi('BSD', $agent))
    164 {
    165 $os = 'BSD';
    166 }
    167 else if (ereg('OSF1', $agent))
    168 {
    169 $os = 'OSF1';
    170 }
    171 else if (ereg('IRIX', $agent))
    172 {
    173 $os = 'IRIX';
    174 }
    175 else if (eregi('FreeBSD', $agent))
    176 {
    177 $os = 'FreeBSD';
    178 }
    179 else if (eregi('teleport', $agent))
    180 {
    181 $os = 'teleport';
    182 }
    183 else if (eregi('flashget', $agent))
    184 {
    185 $os = 'flashget';
    186 }
    187 else if (eregi('webzip', $agent))
    188 {
    189 $os = 'webzip';
    190 }
    191 else if (eregi('offline', $agent))
    192 {
    193 $os = 'offline';
    194 }
    195 else
    196 {
    197 $os = 'Unknown';
    198 }
    199 return $os;
    200 }
    201
    202 // 调用方式:
    203 echo get_os();
    204 echo getbrowser();
  • 相关阅读:
    C primer plus 摘抄(第三章 数据和C)
    lambda表达式+python内置函数
    补充(pass)
    If语句和while语句
    解释器和编译器的区别
    关于python编码
    初识Python
    unity学习(一)ide窗口
    unity学习
    redis实践 —— redisReply简析
  • 原文地址:https://www.cnblogs.com/17too/p/1962605.html
Copyright © 2020-2023  润新知