PHP 实现判断访问端是手机还是电脑
一、 开发环境
1、环境搭建:Windows 7+Apache 2.4.18+MySQL 5.7.11+PHP
7.1.0。
2、文本编辑器:Sublime 3。
二、主要技术
本案例主要使用 PHP 7 中的 HTTP 头信息 via、浏览器代理标示符
来实现判断访问端是手机还是电脑的功能。
三、具体步骤
3.1、创建 php 文件
创建一个名为“pcormobile.php”的 PHP 文件。
3.2、功能实现
(1)定义一个判断访问端是手机还是电脑的函数
function check_wap() {
// 如果 via 信息含有 wap 则一定是移动设备,部分服务商会屏蔽
该信息
if (isset($_SERVER['HTTP_VIA'])) // 代理服务器 ip 存在时
return true;
// 如果有 HTTP_X_NOKIA_CONNECTION_MODE 则一定是移动设备
if (isset($_SERVER['HTTP_X_NOKIA_CONNECTION_MODE']))
return true;
// 如果有 HTTP_X_UP_CALLING_LINE_ID 则一定是移动设备
if (isset($_SERVER['HTTP_X_UP_CALLING_LINE_ID']))
return true;
// 如果只支持 wml 并且不支持 html 那一定是移动设备
// 如果支持 wml 和 html 但是 wml 在 html 之前则是移动设备
if(strpos(strtoupper($_SERVER['HTTP_ACCEPT']),
"VND.WAP.WML") > 0) {
$br = "WML";
} else {
$browser = isset($_SERVER['HTTP_USER_AGENT']) ?
trim($_SERVER['HTTP_USER_AGENT']) : '';
if(empty($browser)) return true;
// 判断手机发送的客户端标志