PHP-用PHP如何识别一个移动设备?

PHP-用PHP如何识别一个移动设备?

归属感 发布于 2017-07-18 字数 166 浏览 1103 回复 1

现在用手持移动设备来上网的人越来越多,我想通过PHP识别出访问网站的移动设备,然后显示与该设备对应的页面。PHP有没有通过header信息获得该设备的型号的方法或者php类?

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

夜无邪 2017-10-05 1 楼

用PHP检测是否是手机:

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;
}

检测iPhone和iPod:
PHP:

$iPhone = strstr($_SERVER['HTTP_USER_AGENT'],'iPhone');
$iPod = strstr($_SERVER['HTTP_USER_AGENT'],'iPod');

JS:

var iPhone = (navigator.userAgent.match(/iPhone/i));
var iPod = navigator.userAgent.match(/iPod/i);

检测Android:
PHP:

$isAndroid = stripos($_SERVER['HTTP_USER_AGENT'],'Android') !== false;

JS:

var isAndroid = navigator.userAgent.match(/Android/i);

在提供一个各种语言检测的网址:http://detectmobilebrowsers.com/