- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章Thinkphp通过一个入口文件如何区分移动端和PC端由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
废话不多说了,直接给大家贴代码了,具体代码如下所示:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
<?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端的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我网站的支持! 。
最后此篇关于Thinkphp通过一个入口文件如何区分移动端和PC端的文章就讲到这里了,如果你想了解更多关于Thinkphp通过一个入口文件如何区分移动端和PC端的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
只是想知道 Jquery Mobile 是否足够稳定以用于实时生产企业移动应用程序。 有很多 HTML5 框架,因为我们的团队使用 JQuery 已经有一段时间了,我们更愿意使用 Jquery 移动框
关闭。这个问题需要details or clarity .它目前不接受答案。 想改进这个问题吗? 通过 editing this post 添加细节并澄清问题. 关闭 3 年前。 Improve t
所以我尝试在 JavaScript 中对元素进行拖放。我使用的视频教程在这里; https://www.youtube.com/watch?v=KTlZ4Hs5h80 。我已经按照它的说明进行了编码,
无法在移动 iOS(safari 和 chrome)上自动播放以前缓存的 mp3 音频 我正在 Angular 8 中开发一个应用程序,在该应用程序的一部分中,我试图在对象数组中缓存几个传入的音频 m
Git 基于内容而不是文件,所以我目前理解以下行为,但我想知道是否有特殊选项或 hack 来检测此类事情: git init mkdir -p foo/bar echo "test" foo/a.tx
我正在寻找语义 ui 正确的类来隐藏例如移动 View 中的 DIV。在 Bootstrap 中,我们有“visible-xs”和“hidden-xs”。 但是在语义ui上我只找到了“仅移动网格” 最
我正在使用 ubuntu 和 想要移动或复制大文件。 但是当我与其他人一起使用服务器时,我不想拥有所有内存并使其他进程几乎停止。 那么有没有办法在内存使用受限的情况下移动或复制文件? 最佳答案 如果你
这些指令有什么区别?以 ARM9 处理器为例,它不应该是: ASM: mov r0, 0 C: r0 = 0; ASM: ld r0, 0 C: r0 = 0; ? 我不知道为什么要使用一个或另一个:
我有一个文件夹,其中包含一些随机命名的文件,其中包含我需要的数据。 为了使用数据,我必须将文件移动到另一个文件夹并将文件命名为“file1.xml” 每次移动和重命名文件时,它都会替换目标文件夹中以前
我经常在 IB/Storyboard 中堆叠对象,几乎不可能拖动其他对象后面的对象而不移动前面的对象。无论如何我可以移动已经选择但位于其他对象后面的对象吗?当我尝试移动它时,它总是选择顶部的对象,还是
几个月前,我看到 Safari 7 允许推送通知,它似乎是一个非常有用的工具,除了我看到的每个示例都专注于桌面浏览,而不是移动设备。 Safari 推送通知是否可以在移动设备上运行,如果没有,是否有计
我有一个简单的 View 模型,其中包含修改后的 ObservableCollection使用 SynchronizationContext.Current.Send在 UI 线程上执行对集合的更改。
关于cassandra创建的数据文件和系统文件的位置,我需要移动在“cassandra.yaml”配置文件中设置的“commitlog_directory”、“data_file_directorie
我有这个代码 $(function() { var message = 'Dont forget us'; var original; var txt1 = ' - '; $(wind
我的客户报告说他的网站有一个奇怪的问题。该网站的 URL 是 your-montenegro.me 在 基于 Android 的浏览器 上加载时,页面底部会出现一个奇怪的空白区域。以下是屏幕截图: 华
我有这个 HTML 标记: Express 300 bsf Sign Up 我需要将元素从 DOM 上的一个
我有一个可重新排序的 TableView (UITableView 实例)。尽管我已经实现了 UITableViewDataSource 方法: tableView:moveRowAtIndexPat
我的客户报告说他的网站有一个奇怪的问题。该网站的 URL 是 your-montenegro.me 在 基于 Android 的浏览器 上加载时,页面底部会出现一个奇怪的空白区域。以下是屏幕截图: 华
我需要在拖放或复制/剪切和粘贴(复制与移动)期间获取操作类型。它是一个 Swing 应用程序,并且实现了 TransferHandle。我在操作结束时需要此信息,在 importData 方法中。 对
我编写了一个具有 add 和 get 方法的 SortedIntList 类。 我调用以下四个方法: SortedIntList mySortedIntList = new SortedIntList
我是一名优秀的程序员,十分优秀!