php判断手机访问

什么是php判断手机访问

在网站开发中,很多时候需要对不同的设备进行不同的操作,比如对手机设备进行特殊的适配,这时候就可以使用php来判断访问设备是PC还是移动端。对于移动端访问,我们可以针对性地进行一些调整,比如调整页面布局等。

如何判断访问设备是手机

方案一:判断user_agent

user_agent是指用户代理,是Web浏览器之类客户端发送给Web服务器的数据。我们可以通过user_agent来判断访问设备是PC还是移动端,具体实现代码如下:

$agent = strtolower($_SERVER['HTTP_USER_AGENT']);

$search_array = array(

'iphone','ipod','ipad','android','mobile',

'opera mini','blackberry','windows ce','windows phone',

'up.browser','midp','wap','mobile','phone'

);

$result = preg_grep("/" . implode('|', $search_array) . "/", array($agent));

if(count($result)){

//是移动端

} else {

//是PC访问

}

方案二:判断HTTP_ACCEPT

HTTP_ACCEPT是指浏览器能够处理的可以接受的文件类型。我们可以通过HTTP_ACCEPT来判断访问设备是PC还是移动端,具体实现代码如下:

if(strpos(strtolower($_SERVER['HTTP_ACCEPT']), 'application/vnd.wap.xhtml+xml') !== false) {

//是移动端

} else {

//是PC访问

}

方案三:使用第三方类库

为了方便,我们可以直接使用现成的第三方类库来判断访问设备是PC还是移动端,常用的类库有Mobile-Detect、WURFL等。

以Mobile-Detect为例,代码如下:

include_once 'Mobile-Detect/Mobile_Detect.php';

$detect = new Mobile_Detect();

if ($detect->isMobile()) {

//是移动端

} else {

//是PC访问

}

使用判断结果进行适配

当我们判断出访问设备是移动端后,我们可以根据需要进行相应的适配。例如,我们可以修改html的meta标签,让页面在移动端正常显示:

if ($detect->isMobile()) {

echo <meta name='viewport' content='width=device-width, initial-scale=1'>;

}

此外,还可以使用CSS对移动端进行调整,例如根据设备的屏幕宽度来设置不同的样式:

@media only screen and (max-width: 600px) {

/* 在移动端时,设置字体大小为16px */

body {

font-size: 16px;

}

}

小结

php判断访问设备是PC还是移动端,主要有三种方案:判断user_agent、判断HTTP_ACCEPT和使用第三方类库。判断结果可以用来进行相应的适配,例如修改meta标签,使用CSS进行样式调整等。

后端开发标签