多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
~~~ /** * 获取客户端操作系统 * * @param $agent //$_SERVER['HTTP_USER_AGENT'] * * @return array[os] 操作系统名称 * @return array[os_ver] 操作系统版本号 * @return array[equipment] 终端设备类型 */ function getClientOS($agent = '') { //window系统 if (stripos($agent, 'window')) { $os = 'Windows'; $equipment = '电脑'; if (preg_match('/nt 6.0/i', $agent)) { $os_ver = 'Vista'; } elseif (preg_match('/nt 11.0/i', $agent)) { $os_ver = '11'; } elseif (preg_match('/nt 10.0/i', $agent)) { $os_ver = '10'; } elseif (preg_match('/nt 6.3/i', $agent)) { $os_ver = '8.1'; } elseif (preg_match('/nt 6.2/i', $agent)) { $os_ver = '8.0'; } elseif (preg_match('/nt 6.1/i', $agent)) { $os_ver = '7'; } elseif (preg_match('/nt 5.1/i', $agent)) { $os_ver = 'XP'; } elseif (preg_match('/nt 5/i', $agent)) { $os_ver = '2000'; } elseif (preg_match('/nt 98/i', $agent)) { $os_ver = '98'; } elseif (preg_match('/nt/i', $agent)) { $os_ver = 'nt'; } else { $os_ver = ''; } if (preg_match('/x64/i', $agent)) { $os .= '(x64)'; } elseif (preg_match('/x32/i', $agent)) { $os .= '(x32)'; } } elseif (stripos($agent, 'linux')) { if (stripos($agent, 'android')) { preg_match('/android\s([\d\.]+)/i', $agent, $match); $os = 'Android'; $equipment = 'Mobile phone'; $os_ver = $match[1]; } else { $os = 'Linux'; } } elseif (stripos($agent, 'unix')) { $os = 'Unix'; } elseif (preg_match('/iPhone|iPad|iPod/i', $agent)) { preg_match('/OS\s([0-9_\.]+)/i', $agent, $match); $os = 'IOS'; $os_ver = str_replace('_', '.', $match[1]); if (preg_match('/iPhone/i', $agent)) { $equipment = 'iPhone'; } elseif (preg_match('/iPad/i', $agent)) { $equipment = 'iPad'; } elseif (preg_match('/iPod/i', $agent)) { $equipment = 'iPod'; } } elseif (stripos($agent, 'mac os')) { preg_match('/Mac OS X\s([0-9_\.]+)/i', $agent, $match); $os = 'Mac OS X'; $equipment = '电脑'; $os_ver = str_replace('_', '.', $match[1]); } else { $os = 'Other'; } return ['os' => $os, 'os_ver' => $os_ver, 'equipment' => $equipment]; } /** * 获取客户端浏览器以及版本号 * * @param $agent //$_SERVER['HTTP_USER_AGENT'] * * @return array[browser] 浏览器名称 * @return array[browser_ver] 浏览器版本号 */ function getClientBrowser($agent = '') { $browser = ''; $browser_ver = ''; if (preg_match('/OmniWeb\/(v*)([^\s|;]+)/i', $agent, $regs)) { $browser = 'OmniWeb'; $browser_ver = $regs[2]; } if (preg_match('/Netscape([\d]*)\/([^\s]+)/i', $agent, $regs)) { $browser = 'Netscape'; $browser_ver = $regs[2]; } if (preg_match('/safari\/([^\s]+)/i', $agent, $regs)) { $browser = 'Safari'; $browser_ver = $regs[1]; } if (preg_match('/MSIE\s([^\s|;]+)/i', $agent, $regs)) { $browser = 'Internet Explorer'; $browser_ver = $regs[1]; } if (preg_match('/Opera[\s|\/]([^\s]+)/i', $agent, $regs)) { $browser = 'Opera'; $browser_ver = $regs[1]; } if (preg_match('/NetCaptor\s([^\s|;]+)/i', $agent, $regs)) { $browser = '(Internet Explorer '.$browser_ver.') NetCaptor'; $browser_ver = $regs[1]; } if (preg_match('/Maxthon/i', $agent, $regs)) { $browser = '(Internet Explorer '.$browser_ver.') Maxthon'; $browser_ver = ''; } if (preg_match('/360SE/i', $agent, $regs)) { $browser = '(Internet Explorer '.$browser_ver.') 360SE'; $browser_ver = ''; } if (preg_match('/SE 2.x/i', $agent, $regs)) { $browser = '(Internet Explorer '.$browser_ver.') 搜狗'; $browser_ver = ''; } if (preg_match('/FireFox\/([^\s]+)/i', $agent, $regs)) { $browser = 'FireFox'; $browser_ver = $regs[1]; } if (preg_match('/Lynx\/([^\s]+)/i', $agent, $regs)) { $browser = 'Lynx'; $browser_ver = $regs[1]; } if (preg_match('/Chrome\/([^\s]+)/i', $agent, $regs)) { $browser = 'Chrome'; $browser_ver = $regs[1]; } if (preg_match('/MicroMessenger\/([^\s]+)/i', $agent, $regs)) { $browser = '微信浏览器'; $browser_ver = $regs[1]; } if ($browser != '') { return ['browser' => $browser, 'browser_ver' => $browser_ver]; } else { return ['browser' => '未知', 'browser_ver' => '']; } } ~~~