我们可以从Discuz !中提取一些有用的函数,当然,我没说这是最好的函数,但至少个人觉得还是不错,就算造轮子吧。哈哈~~~下面的函数都是取自Discuz !,但是很多地方做了修改,我就不写注释了,大家应该都看得懂~~~【PS.实在看不懂就问呗~~~】
1. 检测手机浏览
function checkmobile() { $useragent = strtolower($_SERVER['HTTP_USER_AGENT']); $pad = array('pad', 'gt-p1000'); $mobilebrowser = array('iphone', 'android', 'phone', 'mobile', 'wap', 'netfront', 'java', 'opera mobi', 'opera mini','ucweb', 'windows ce', 'symbian', 'series', 'webos', 'sony', 'blackberry', 'dopod', 'nokia', 'samsung', 'palmsource', 'xda', 'pieplus', 'meizu', 'midp', 'cldc', 'motorola', 'foma', 'docomo', 'up.browser', 'up.link', 'blazer', 'helio', 'hosin', 'huawei', 'novarra', 'coolpad', 'webos', 'techfaith', 'palmsource', 'alcatel', 'amoi', 'ktouch', 'nexian', 'ericsson', 'philips', 'sagem', 'wellcom', 'bunjalloo', 'maui', 'smartphone', 'iemobile', 'spice', 'bird', 'zte-', 'longcos', 'pantech', 'gionee', 'portalmmm', 'jig browser', 'hiptop', 'benq', 'haier', '^lct', '320x320', '240x320', '176x220'); $pcbrower = array('mozilla', 'chrome', 'safari', 'opera', 'm3gate', 'winwap', 'openwave', 'myop'); foreach($pad as $v)//想想为什么要先检测Pad? { if(strpos($useragent, $v) !== false)//注意用'==='来检测strpos()函数的返回值(见PHP手册) { return false; } } foreach($mobilebrowser as $v) { if(strpos($useragent, $v) !== false) { return true; } } foreach($pcbrower as $v) { if(strpos($useragent, $v) !== false) { return false; } } return false; }
不断更新中。。。