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 相关文章推荐
截获网站title标签之家内容的例子
Oct 09 PHP
php 数组的指针操作实现代码
Feb 08 PHP
用PHP实现小写金额转换大写金额的代码(精确到分)
Jan 10 PHP
php+mysql结合Ajax实现点赞功能完整实例
Jan 30 PHP
PHP实现通过get方式识别用户发送邮件的方法
Jul 16 PHP
Zend Framework教程之Resource Autoloading用法实例
Mar 08 PHP
PHP基于mssql扩展远程连接MSSQL的简单实现方法
Oct 08 PHP
PHP命名空间namespace的定义方法详解
Mar 29 PHP
PHP环形链表实现方法示例
Sep 15 PHP
PHP以json或xml格式返回请求数据的方法
May 31 PHP
PHP JWT初识及其简单示例
Oct 10 PHP
用Laravel轻松处理千万级数据的方法实现
Dec 25 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网页显示各种语法错误
2013/09/23 PHP
PHP实现更新中间关联表数据的两种方法
2014/09/01 PHP
php中switch与ifelse的效率区别及适用情况分析
2015/02/12 PHP
php curl模拟post请求和提交多维数组的示例代码
2015/11/19 PHP
PHP常用排序算法实例小结【基本排序,冒泡排序,快速排序,插入排序】
2017/02/07 PHP
laravel 5.3 单用户登录简单实现方法
2019/10/14 PHP
Javascript YUI 读码日记之 YAHOO.util.Dom - Part.3
2008/03/22 Javascript
JQuery与JSon实现的无刷新分页代码
2011/09/13 Javascript
Javascript绝句欣赏 一些经典的js代码
2012/02/22 Javascript
jquery三个关闭弹出层的小示例
2013/11/05 Javascript
元素未显示设置width/height时IE中使用currentStyle获取为auto
2014/05/04 Javascript
一行命令搞定node.js 版本升级
2014/07/20 Javascript
js格式化时间小结
2014/11/03 Javascript
javascript实现动态改变层大小的方法
2015/05/14 Javascript
基于JS2Image实现圣诞树代码
2015/12/24 Javascript
socket.io实现在线群聊功能
2017/04/07 Javascript
微信小程序 配置顶部导航条标题颜色的实现方法
2017/09/20 Javascript
微信小程序wx.request实现后台数据交互功能分析
2017/11/25 Javascript
JavaScript数组特性与实践应用深入详解
2018/12/30 Javascript
vue  elementUI 表单嵌套验证的实例代码
2019/11/06 Javascript
浅析Vue 中的 render 函数
2020/02/28 Javascript
python实现的简单猜数字游戏
2015/04/04 Python
下载python中Crypto库报错:ModuleNotFoundError: No module named ‘Crypto’的解决
2018/04/23 Python
详解Python网络框架Django和Scrapy安装指南
2019/04/01 Python
pyqt 实现QlineEdit 输入密码显示成圆点的方法
2019/06/24 Python
react+django清除浏览器缓存的几种方法小结
2019/07/17 Python
Python学习笔记之文件的读写操作实例分析
2019/08/07 Python
印度和世界各地的精美产品:Ikka Dukka
2018/02/12 全球购物
大学生村官心得体会范文
2014/01/04 职场文书
户外拓展活动方案
2014/02/11 职场文书
机关节能减排实施方案
2014/03/17 职场文书
竞选班干部演讲稿400字
2014/08/20 职场文书
中学综治宣传月活动总结
2015/05/07 职场文书
导游词之青岛崂山
2019/12/27 职场文书
DBCA命令行搭建Oracle ADG的流程
2021/06/11 Oracle
Python pygame实现中国象棋单机版源码
2021/06/20 Python