template design by http://www.20shx.com/
时间:2014-03-02 发布人:SHX 浏览次数:6983 评论:0
在做网站时,有的时候会做手机版的网站,这当用户访问网站的时候,我们网站需要一个判断,判断用户是用的什么样的设备(手机还是电脑)。如果是电脑就继续访问网站,如果是手机就跳到另一个地址访问手机网站。
下面用PHP写了一个函数来判断访问的用户用的是什么设备
function isMobile() { // 如果有HTTP_X_WAP_PROFILE则一定是移动设备 if (isset ($_SERVER['HTTP_X_WAP_PROFILE'])) { return true; } //如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息 if (isset ($_SERVER['HTTP_VIA'])) { //找不到为flase,否则为true return stristr($_SERVER['HTTP_VIA'], "wap") ? true : false; } //脑残法,判断手机发送的客户端标志,兼容性有待提高 if (isset ($_SERVER['HTTP_USER_AGENT'])) { $clientkeywords = array ( 'nokia', 'sony', 'ericsson', 'mot', 'samsung', 'htc', 'sgh', 'lg', 'sharp', 'sie-', 'philips', 'panasonic', 'alcatel', 'lenovo', 'iphone', 'ipod', 'blackberry', 'meizu', 'android', 'netfront', 'symbian', 'ucweb', 'windowsce', 'palm', 'operamini', 'operamobi', 'openwave', 'nexusone', 'cldc', 'midp', 'wap', 'mobile' ); // 从HTTP_USER_AGENT中查找手机浏览器的关键字 if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT']))) { return true; } } //协议法,因为有可能不准确,放到最后判断 if (isset ($_SERVER['HTTP_ACCEPT'])) { // 如果只支持wml并且不支持html那一定是移动设备 // 如果支持wml和html但是wml在html之前则是移动设备 if ((strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') !== false) && (strpos($_SERVER['HTTP_ACCEPT'], 'text/html') === false || (strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') < strpos($_SERVER['HTTP_ACCEPT'], 'text/html')))) { return true; } } return false; }
下面这个函数也可以试试看
function is_mobile() { $user_agent = $_SERVER['HTTP_USER_AGENT']; $mobile_agents = Array("240x320","acer","acoon","acs-", "abacho","ahong","airness","alcatel","amoi","android"," anywhereyougo.com","applewebkit/525","applewebkit/532", "asus","audio","au-mic","avantogo","becker","benq","bilbo","bird", "blackberry","blazer","bleu","cdm-","compal","coolpad", "danger","dbtel","dopod","elaine","eric","etouch","fly ","fly_", "fly-","go.web","goodaccess","gradiente","grundig", "haier","hedy","hitachi","htc","huawei","hutchison","inno", "ipad","ipaq","ipod","jbrowser","kddi","kgt","kwc","lenovo", "lg ","lg2","lg3","lg4","lg5","lg7","lg8","lg9","lg-","lge-","lge9", "longcos","maemo","mercator","meridian","micromax","midp", "mini","mitsu","mmm","mmp","mobi","mot-","moto","nec-","netfront", "newgen","nexian","nf-browser","nintendo","nitro","nokia","nook", "novarra","obigo","palm","panasonic","pantech","philips","phone", "pg-","playstation","pocket","pt-","qc-","qtek","rover","sagem", "sama","samu","sanyo","samsung","sch-","scooter","sec-","sendo", "sgh-","sharp","siemens","sie-","softbank","sony","spice","sprint", "spv","symbian","tablet","talkabout","tcl-","teleca","telit","tianyu", "tim-","toshiba","tsm","up.browser","utec","utstar","verykool", "virgin","vk-","voda","voxtel","vx","wap","wellco","wig browser", "wii","windows ce","wireless","xda","xde","zte"); $is_mobile = false; foreach ($mobile_agents as $device) { if (stristr($user_agent, $device)) { $is_mobile = true; break; } } return $is_mobile; }
上一篇:技术宅不会表白伤不起啊下一篇:网页制作小工具合集