Thinkphp通过一个入口文件如何区分移动端和PC端

废话不多说了,直接给大家贴代码了,具体代码如下所示:

<?php // 检测PHP环境 if(version_compare(PHP_VERSION,'5.3.0','<')) die('require PHP > 5.3.0 !'); // 开启调试模式 建议开发阶段开启 部署阶段注释或者设为false define('APP_DEBUG',True); define('MULTI_MODULE', false); // 获取当前文件所在的目录 define('DKSITE_TSDIR', dirname(__FILE__)); // 定义应用目录 define('APP_PATH',DKSITE_TSDIR.'/Application/'); // 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; } //判断 if(is_mobile()){ echo '您当前是在:手机端'; // 手机端模块 define('BIND_MODULE','Mobile'); }else{ echo '您当前是在:pc端'; // pc端前台模块 define('BIND_MODULE','Home'); } // 引入ThinkPHP入口文件 require dirname(__FILE__).'/ThinkPHP/ThinkPHP.php';

以上所述是小编给大家介绍的Thinkphp通过一个入口文件区分移动端和PC端的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

时间: 2024-09-02 12:18:50

Thinkphp通过一个入口文件如何区分移动端和PC端的相关文章

iOS版微信新技能:可直接向PC端传文件

苹果iOS版微信在更新最新版本6.3.19后出现了一个更新日志中没有说明的小惊喜,可以向PC端传输文件,支持图片,视频.语音等消息传输. 用iPhone最新版微信扫描登录Windows端微信后,在iPhone端微信消息界面上出现了"Windows微信已登录"的提示,点击后则出现具体功能界面. 在功能界面,出现了"手机静音"和"传文件"两个新功能.其中手机静音是指在这里可直接一键将手机微信设置成静音模式,点击"手机静音"按钮,则

thinkphp学习笔记2—入口文件

原文:thinkphp学习笔记2-入口文件 在thinkphp中有两个入口文件,一个是项目的入口文件,是index.php在主目录里面,还有一个是thinkphp框架的的入口文件,放在框架目录下面如:D:\thinkphp\ThinkPHP,名字是ThinkPHP.php. thinkphp采用的是单一入口模式,所有的程序都是从项目入口文件开始执行的,项目入口文件内容包括: 定义框架路径,项目路径和项目名称(可选) 定义调试模式和运行模式相关变量(可选) 载入框架入口文件(必须) 在手册里面讲到

ThinkPHP中url隐藏入口文件后接收alipay传值的方法_php实例

本文实例讲述了ThinkPHP中url隐藏入口文件后接收alipay传值的方法.分享给大家供大家参考.具体方法如下: 现在公司项目的需求变化多端,项目使用的是Thinkphp2.0,而conf.php中设置的URL_MODEL=2,为了兼容.htaccess和隐藏index.php,但在使用一些第三方接口时(例如支付宝或MSN开放平台),他们返回的参数往往含有一个?号,而URL_MODEL=2时,TP会自动将含有?的URL进行转换. 转换前:http://www.xxx.com/index.ph

封装ThinkPHP的一个文件上传方法实例_php实例

本文实例讲述了封装ThinkPHP的一个文件上传方法,分享给大家供大家参考.具体如下: 这阵子,对WBlog的上传功能作了优化.改进后的上传功能可以实现缩略图上传,图片上传,生成水印,文件上传,并且可以在后台对上传的附件进行大小(文件大小),类型(文件类型),水印(针对图片)的进行设置.此外还可以对上传的文件进行分类保存到相应的文件夹里,方便管理. 下面是对改进后的上传功能作简约的说明. 缩略图上传 先前的缩略图上传功能使用了KindEditor的上传组件,除非上传之前对图片进行缩略处理,不然上

thinkphp隐藏入口文件出错问题

问题描述 thinkphp隐藏入口文件出错问题 原来的URL:http://localhost/bbs/index.php/home/index/apps 隐藏入口以后:http://localhost/bbs/home/index/apps 出错:The requested URL bbs/home/index.html/apps was not found on this server. 解决方案 文件没有找到,出现这种问题很多哦 解决方案二: 我先假設你是 thinkphp 3.2.2 h

thinkphp入口文件的基本问题

问题描述 thinkphp入口文件的基本问题 我的代码 //定义项目名称 <?php 3. define('APP_NAME', 'App'); 4. //定义项目路径 5. define('APP_PATH', '../App/'); 6. //加载框架入文件 7. require '../App/ThinkPHP/ThinkPHP.php'; 根目录下在App文件夹中有THinkPHP文件夹和index.php文件,在THinkPHP中Commen Conf Extend LIb Tpl和T

thinkphp3.2中Lite文件替换框架入口文件或应用入口文件的方法

  本文实例讲述了thinkphp3.2中Lite文件替换框架入口文件或应用入口文件的方法.分享给大家供大家参考.具体分析如下: 3.2版本支持根据当前的运行环境生成Lite文件,可以替换框架的入口文件或者应用入口文件,提高运行效率. 我们的建议是在生产环境中关闭调试模式后生成Lite文件. 注意,目前SAE平台不支持直接生成Lite文件. 生成Lite文件 要生成Lite文件,需要在入口文件中增加常量定义: 代码如下: define('BUILD_LITE_FILE',true); 默认情况下

动态调用-C++编写的动态库,可不可以只有一个dll文件。

问题描述 C++编写的动态库,可不可以只有一个dll文件. 用C++编写动态库,根据我现阶段的学习,感觉.h..lib..dll三个文件都要,如果采用动态链接,一般需要.h和.dll文件(动态库中含有类),而静态调用则需要.h和.lib文件,可不可以只要一个dll文件,就可以拿给别人使用?求解. 解决方案 就是一个,你编译后就是一个,给别人 解决方案二: 数量不确定的,一个也可以啊. 解决方案三: 如果只给dll的话,就只能动态的加载,如果为了方便静态加载dll的话,就需要输出lib和dll一起

怎样在ubuntu环境下用c++写一个cpp文件,创建Mydisk.img文件并写入一个大数组?

问题描述 怎样在ubuntu环境下用c++写一个cpp文件,创建Mydisk.img文件并写入一个大数组? 要用到入口函数吗?需要包含什么头文件?这是用来做虚拟磁盘的,之后还有划分各种区以及把另一个文件存进去取出来的步骤--应该是需要文件句柄?这个怎么取得? 非常感谢! 解决方案 不知道你要做什么.如果你完全用C++自己创建所谓的磁盘镜像,起码你要这两部分,一个是你的img本身的文件格式是什么,一个是你的磁盘的文件系统是什么. 这些不是写几行代码能做到的. 解决方案二: Ubuntu创建一个指定