thinkphp判断访客为手机端或PC端的方法


Posted in PHP onNovember 24, 2014

本文实例讲述了thinkphp判断访客为手机端或PC端的方法。分享给大家供大家参考。具体实现方法如下:

一、问题:

近日准备给自己的网站做一个小升级,让用户在手机二维码扫描的时候显示适合手机端来展示的模版【我用的是ThinkPHP3.0】,代码是参考别人的

二、实现方法:

这里先说下大概的一个思路 简单两步:

统版本号和浏览器以及它的版本号(贴出的代码中数组中只有移动端信息,因此后面只需判断是否为数组中的某一个值即可).

根据数组中的值来判断访客是否为手机、pad、之类的移动端,如果是的话就规定项目路径、名称为你的手机端模版如

define('APP_NAME','mobi');
define('APP_PATH','./mobi/');

下面代码的话我尽量加上注释:

//判断是否属手机  

//代码看上去很多,其实就是数组里面显得多而乱,不要被表面现象所吓倒哦!  

 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)) { //stristr 查找访客端信息是否在上述数组中,不存在即为PC端。  

            $is_mobile = true;  

            break;  

        }  

    }  

    return $is_mobile;  

}  

define('THINK_PATH','./CORE/');  

if(is_mobile()){ //跳转至wap分组  

 echo '您是手机端访问的,已跳转到手机端';  

     define('APP_NAME','mobi');  

    define('APP_PATH','./mobi/');  

}else{  

 echo '你是PC端访问的';  

     define('APP_NAME','Home');  

    define('APP_PATH','./Home/');           

}  

 define('APP_DEBUG', false);  

require THINK_PATH.'core.php';

希望本文所述对大家的ThinkPHP框架程序设计有所帮助。

PHP 相关文章推荐
最省空间的计数器
Oct 09 PHP
php随机输出名人名言的代码
Oct 07 PHP
使用YUI+Ant 实现JS CSS压缩
Sep 02 PHP
php用ini_get获取php.ini里变量值的方法
Mar 04 PHP
php正则表达式验证(邮件地址、Url地址、电话号码、邮政编码)
Mar 14 PHP
针对多用户实现头像上传功能PHP代码 适用于登陆页面制作
Aug 17 PHP
PHP带节点操作的无限分类实现方法详解
Nov 09 PHP
PHP的RSA加密解密方法以及开发接口使用
Feb 11 PHP
详解php用static方法的原因
Sep 12 PHP
php使用scandir()函数扫描指定目录下所有文件示例
Jun 08 PHP
JS操作XML中DTD介绍及使用方法分析
Jul 04 PHP
PHP图像处理 imagestring添加图片水印与文字水印操作示例
Feb 06 PHP
ThinkPHP公共配置文件与各自项目中配置文件组合的方法
Nov 24 #PHP
php使用str_replace实现输入框回车替换br的方法
Nov 24 #PHP
thinkphp循环结构用法实例
Nov 24 #PHP
thinkphp特殊标签用法概述
Nov 24 #PHP
PHP中mysql_field_type()函数用法
Nov 24 #PHP
thinkphp模板输出技巧汇总
Nov 24 #PHP
php中mt_rand()随机数函数用法
Nov 24 #PHP
You might like
ThinkPHP查询语句与关联查询用法实例
2014/11/01 PHP
php实现随机显示图片方法汇总
2015/05/21 PHP
PHP实现JS中escape与unescape的方法
2016/07/11 PHP
PHP防止sql注入小技巧之sql预处理原理与实现方法分析
2019/12/13 PHP
HTML中事件触发列表与解说
2007/07/09 Javascript
jquery 实现的全选和反选
2009/04/15 Javascript
javascript 单例/单体模式(Singleton)
2011/04/07 Javascript
一款Jquery 分页插件的改造方法(服务器端分页)
2011/07/11 Javascript
Windows系统下Node.js的简单入门教程
2015/06/23 Javascript
js中 计算两个日期间的工作日的简单实例
2016/08/08 Javascript
使用JS代码实现点击按钮下载文件
2016/11/12 Javascript
浅谈vue中数据双向绑定的实现原理
2017/09/14 Javascript
Vue-router路由判断页面未登录跳转到登录页面的实例
2017/10/26 Javascript
详解IWinter 一个路由转控制器的 Nodejs 库
2017/11/15 NodeJs
weebox弹出窗口不居中显示的解决方法
2017/11/27 Javascript
总结js函数相关知识点
2018/02/27 Javascript
nodeJS模块简单用法示例
2018/04/21 NodeJs
koa2 用户注册、登录校验与加盐加密的实现方法
2019/07/22 Javascript
解决Vue项目中tff报错的问题
2020/10/21 Javascript
[40:55]Liquid vs LGD 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python 常用 PEP8 编码规范详解
2017/01/22 Python
Python引用计数操作示例
2018/08/23 Python
详解小白之KMP算法及python实现
2019/04/04 Python
Python +Selenium解决图片验证码登录或注册问题(推荐)
2020/02/09 Python
Python函数生成器原理及使用详解
2020/03/12 Python
python和node.js生成当前时间戳的示例
2020/09/29 Python
使用Python判断一个文件是否被占用的方法教程
2020/12/16 Python
Lookfantastic日本官网:英国知名护肤、化妆品和头发护理购物网站
2018/04/21 全球购物
财务主管自我鉴定
2014/01/17 职场文书
《自选商场》教学反思
2014/02/14 职场文书
小学校长汇报材料
2014/08/20 职场文书
2014年销售部工作总结
2014/12/01 职场文书
停车场管理制度范本
2015/08/05 职场文书
2016教师学习教育法心得体会
2016/01/19 职场文书
多属性、多分类MySQL模式设计
2021/04/05 MySQL
Redis基本数据类型String常用操作命令
2022/06/01 Redis