1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 利用PHP判断是手机移动端还是PC端访问的函数示例【PHP】

利用PHP判断是手机移动端还是PC端访问的函数示例【PHP】

时间:2020-06-11 00:35:33

相关推荐

利用PHP判断是手机移动端还是PC端访问的函数示例【PHP】

后端开发|php教程

php,还是,移动

后端开发-php教程

在平常工作开发中,我们通常需要开发出PC端和移动端两个不同的系统,从而根据访问端的不同进入到不同的操作界面中。下面这篇文章主要给大家介绍了关于利用PHP判断是手机移动端还是PC端访问的PHP函数的相关资料,不了解PHP这方面知识或需要的朋友可以参考下。

刷淘宝源码,vscode加载好慢,ubuntu重新启动是什么意思,tomcat wls漏洞,sqlite 统计个数据,js常用插件有哪些,目前工资最高的前端框架,网页爬虫是不是犯法,php编译安装mysql,google seo 按钮,魅力企业网站管理系统,网页动态gif小图标,仿淘宝登录页面html模板下载lzw

前言

asp上传漏洞源码,vscode 切换,ubuntu scp工具,tomcat头像,sqlite导入语句,万网服务器好吗,ecshop 日期插件,cors请求前端框架,爬虫需要学什么,诱导支付php,深圳seo培训公司,js插件网站,网页界面设计素材,动漫php网站模板,微信链接html5页面跳转,jcms内容管理系统,小程序投票系统lzw

最近在开发项目的时候,分别开发了PC端和手机端,需要实现,用手机访问PC端WWW域名的时候,自动判断跳转到移动端,用电脑访问M域名手机网站的时候,自动跳转到PC端网站,于是有了下面这个判断函数:

易语源码,vscode 代码整理,ubuntu kmail,tomcat查看记录,sqlite优化性能,微信影视机器人插件,前端有什么框架技术教程,爬虫接单平台都哪些,php 留言系统,重庆seo建议,竞拍网站模板,网页下拉,新锐创想模板怎么改lzw

示例代码:

/** * 移动端判断 */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 ( okia, sony, ericsson, mot, samsung, htc, sgh, lg, sharp, sie-, philips, panasonic, alcatel, lenovo, iphone, ipod, lackberry, meizu, android, etfront, symbian, ucweb, windowsce, palm, operamini, operamobi, openwave, exusone, 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], ext/html) === false || (strpos($_SERVER[HTTP_ACCEPT], vnd.wap.wml) < strpos($_SERVER[HTTP_ACCEPT], ext/html)))) { return true; } } return false;}

PHP isset 函数作用

isset函数是检测变量是否设置。

格式:bool isset ( mixed var [, mixed var [, ...]] )

返回值:

若变量不存在则返回 FALSE

若变量存在且其值为NULL,也返回 FALSE

若变量存在且值不为NULL,则返回 TURE

同时检查多个变量时,每个单项都符合上一条要求时才返回 TRUE,否则结果为 FALSE

如果已经使用 unset() 释放了一个变量之后,它将不再是 isset() 。若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE。同时要注意的是一个 NULL 字节(”\0″)并不等同于 PHP 的 NULL 常数。

警告: isset() 只能用于变量,因为传递任何其它参数都将造成解析错误。若想检测常量是否已设置,可使用 defined() 函数。

1, hello => NULL);var_dump( isset ($a[ est) ); // TRUEvar_dump( isset ($a[foo) ); // FALSEvar_dump( isset ($a[hello) ); // FALSE// hello 等于 NULL,所以被认为是未赋值的。// 如果想检测 NULL 键值,可以试试下边的方法。var_dump( array_key_exists(hello, $a) ); // TRUE?>

总结

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。