php检测版权完整的代码,php端检测是否移动设备的完整代码

做网页时,需要得到当前打开网页页面的设备是PC的浏览器,还是移动设备的浏览器,再针对不同设备,让页面显示合适内容;

针对这个需求场景,个人认为有三种方法可以实现:

方法一: 通过css ;

方法二,通过js;

方法三 通过 php端;

这三种方法按业务需求,进行采用,会有不一样的效果;

css 通过@media 属性 ,设置不一样屏幕尺寸 显示不一样的页面;达到页面匹配不同尺寸的效果;

通过js 判断设备是移动设备,pc设备、微信客户端等,再做对应的跳转到合适的业务页面展示给客户端;

方式三,通过php端判断 访问的设备是 pc还是移动设备; 后端返回 不一样的业务内容;

个人觉得方式三 适合复杂的,业务需求。

下面就 提供一个 php端 判断设备的代码吧。

/**

* 是否移动端访问访问

*/

public function _is_mobile() {

if (isset ($_SERVER['HTTP_X_WAP_PROFILE'])) {

// 如果有HTTP_X_WAP_PROFILE则一定是移动设备

return true;

} elseif (isset ($_SERVER['HTTP_USER_AGENT'])) {

// 判断手机发送的客户端标志,兼容性有待提高

$clientkeywords = [

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

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值