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 相关文章推荐
PHP中call_user_func_array()函数的用法演示
Feb 05 PHP
完美解决令人抓狂的zend studio 7代码提示(content Assist)速度慢的问题
Jun 20 PHP
PHP打开和关闭文件操作函数总结
Nov 18 PHP
PHP获取POST数据的几种方法汇总
Mar 03 PHP
php简单实现多字节字符串翻转的方法
Mar 31 PHP
Laravel 5框架学习之用户认证
Apr 09 PHP
PHP使用正则表达式获取微博中的话题和对象名
Jul 18 PHP
ThinkPHP开发框架函数详解:C方法
Aug 14 PHP
yii使用bootstrap分页样式的实例
Jan 17 PHP
PHP 二维关联数组根据其中一个字段排序(推荐)
Apr 04 PHP
php策略模式简单示例分析【区别于工厂模式】
Sep 25 PHP
PHP内存溢出优化代码详解
Feb 26 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
利用php来自动调用不同服务器上的flash
2006/10/09 PHP
PHP+DBM的同学录程序(3)
2006/10/09 PHP
如何用phpmyadmin设置mysql数据库用户的权限
2012/01/09 PHP
ajax在joomla中的原生态应用代码
2012/07/19 PHP
PHP中递归的实现实例详解
2017/11/14 PHP
jQuery ajax+PHP实现的级联下拉列表框功能示例
2019/02/12 PHP
TP5(thinkPHP5框架)实现显示错误信息及行号功能的方法
2019/06/03 PHP
php实现通过stomp协议连接ActiveMQ操作示例
2020/02/23 PHP
jquery ready()的几种实现方法小结
2010/06/18 Javascript
JavaScript验证图片类型(扩展名)的函数分享
2014/05/05 Javascript
jquery操作对象数组元素方法详解
2014/11/26 Javascript
jquery实现表单输入时提示文字滑动向上效果
2015/08/10 Javascript
jquery.validate 自定义验证方法及validate相关参数
2016/01/18 Javascript
WebApi+Bootstrap+KnockoutJs打造单页面程序
2016/05/16 Javascript
jQuery原理系列-css选择器的简单实现
2016/06/07 Javascript
js两种拼接字符串的简单方法(必看)
2016/09/02 Javascript
微信小程序本作用域下调用全局JS详解及实例
2017/02/22 Javascript
使用Xcache缓存器加速PHP网站的配置方法
2017/04/22 Javascript
用javascript获取任意颜色的更亮或更暗颜色值示例代码
2017/07/21 Javascript
webpack构建换肤功能的思路详解
2017/11/27 Javascript
vue v-for循环重复数据无法添加问题解决方法【加track-by='索引'】
2019/03/15 Javascript
基于js判断浏览器是否支持webGL
2020/04/18 Javascript
vue移动端弹起蒙层滑动禁止底部滑动操作
2020/07/22 Javascript
python文件比较示例分享
2014/01/10 Python
Python计算一个文件里字数的方法
2015/06/15 Python
Python3字符串学习教程
2015/08/20 Python
Python中list查询及所需时间计算操作示例
2018/06/21 Python
对pandas的行列名更改与数据选择详解
2018/11/12 Python
python爬虫快速响应服务器的做法
2020/11/24 Python
Python爬虫实战案例之爬取喜马拉雅音频数据详解
2020/12/07 Python
Python接口自动化系列之unittest结合ddt的使用教程详解
2021/02/23 Python
新西兰领先的内衣店:Bendon Lingerie新西兰
2018/07/11 全球购物
餐饮服务食品安全责任书
2014/07/25 职场文书
圣诞晚会主持词
2015/07/01 职场文书
党员读书活动心得体会
2016/01/14 职场文书
TV动画《神废柴☆偶像》公布先导PV
2022/03/20 日漫