Thinkphp入口文件判断网页是电脑访问还是手机访问网站
来源:互联网 发布:申请美国博士知乎 编辑:程序博客网 时间:2024/04/29 12:40
<?php
//开启调试模式
define('APP_DEBUG',true); // 调试模式,每一次请求都加载一次,不走缓存旧文件
//define('APP_DEBUG',false); // 生产模式
//判断是手机登录还是电脑登录
function ismobile() {
// 如果有HTTP_X_WAP_PROFILE则一定是移动设备
if (isset ($_SERVER['HTTP_X_WAP_PROFILE']))
return true;
//此条摘自TPM智能切换模板引擎,适合TPM开发
if(isset ($_SERVER['HTTP_CLIENT']) &&'PhoneClient'==$_SERVER['HTTP_CLIENT'])
return true;
//如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息
if (isset ($_SERVER['HTTP_VIA']))
//找不到为flase,否则为true
return stristr($_SERVER['HTTP_VIA'], 'wap') ? true : false;
//判断手机发送的客户端标志,兼容性有待提高
if (isset ($_SERVER['HTTP_USER_AGENT'])) {
$clientkeywords = array(
'nokia','sony','ericsson','mot','samsung','htc','sgh','lg','sharp','sie-','philips','panasonic','alcatel','lenovo','iphone','ipod','blackberry','meizu','android','netfront','symbian','ucweb','windowsce','palm','operamini','operamobi','openwave','nexusone','cldc','midp','wap','mobile'
);
//从HTTP_USER_AGENT中查找手机浏览器的关键字
if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT']))) {
return true;
}
}
//协议法,因为有可能不准确,放到最后判断
if (isset ($_SERVER['HTTP_ACCEPT'])) {
// 如果只支持wml并且不支持html那一定是移动设备
// 如果支持wml和html但是wml在html之前则是移动设备
if ((strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') !== false) && (strpos($_SERVER['HTTP_ACCEPT'], 'text/html') === false || (strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') < strpos($_SERVER['HTTP_ACCEPT'], 'text/html')))) {
return true;
}
}
return false;
}
if(ismobile()){
//定义title的公众部分
// header("Location: http://www.baidu.com");
// exit;
// 定义应用目录
define('APP_PATH','./Mobile/');
}else{
// 定义应用目录
define('APP_PATH','./');
}
//引入ThinkPHP框架的接口文件
include("./ThinkPHP/ThinkPHP.php");
//开启调试模式
define('APP_DEBUG',true); // 调试模式,每一次请求都加载一次,不走缓存旧文件
//define('APP_DEBUG',false); // 生产模式
//判断是手机登录还是电脑登录
function ismobile() {
// 如果有HTTP_X_WAP_PROFILE则一定是移动设备
if (isset ($_SERVER['HTTP_X_WAP_PROFILE']))
return true;
//此条摘自TPM智能切换模板引擎,适合TPM开发
if(isset ($_SERVER['HTTP_CLIENT']) &&'PhoneClient'==$_SERVER['HTTP_CLIENT'])
return true;
//如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息
if (isset ($_SERVER['HTTP_VIA']))
//找不到为flase,否则为true
return stristr($_SERVER['HTTP_VIA'], 'wap') ? true : false;
//判断手机发送的客户端标志,兼容性有待提高
if (isset ($_SERVER['HTTP_USER_AGENT'])) {
$clientkeywords = array(
'nokia','sony','ericsson','mot','samsung','htc','sgh','lg','sharp','sie-','philips','panasonic','alcatel','lenovo','iphone','ipod','blackberry','meizu','android','netfront','symbian','ucweb','windowsce','palm','operamini','operamobi','openwave','nexusone','cldc','midp','wap','mobile'
);
//从HTTP_USER_AGENT中查找手机浏览器的关键字
if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT']))) {
return true;
}
}
//协议法,因为有可能不准确,放到最后判断
if (isset ($_SERVER['HTTP_ACCEPT'])) {
// 如果只支持wml并且不支持html那一定是移动设备
// 如果支持wml和html但是wml在html之前则是移动设备
if ((strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') !== false) && (strpos($_SERVER['HTTP_ACCEPT'], 'text/html') === false || (strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') < strpos($_SERVER['HTTP_ACCEPT'], 'text/html')))) {
return true;
}
}
return false;
}
if(ismobile()){
//定义title的公众部分
// header("Location: http://www.baidu.com");
// exit;
// 定义应用目录
define('APP_PATH','./Mobile/');
}else{
// 定义应用目录
define('APP_PATH','./');
}
//引入ThinkPHP框架的接口文件
include("./ThinkPHP/ThinkPHP.php");
1 0
- Thinkphp入口文件判断网页是电脑访问还是手机访问网站
- 判断是手机还是电脑访问网站
- 判断是手机还是电脑访问网站
- php判断终端是手机还是电脑访问网站
- php判断终端是手机还是电脑访问网站代码
- php判断客户端是手机还是电脑访问网站代码
- 如何判断是手机还是电脑在访问网站
- 如何判断是手机还是电脑在访问网站?
- java后台怎么判断是手机还是电脑访问网站
- .net 判断是手机还是电脑访问
- 判断访问来源是手机还是电脑
- 判断访问端是手机还是电脑
- 判断访问页面的是 电脑访问 还是 手机访问
- ASP.NET怎样判断是手机访问网站还是电脑访问
- web网站判断是手机访问还是pc电脑访问的检测逻辑
- ASP.NET怎样判断是手机访问网站还是电脑访问
- web网站判断是手机访问还是pc电脑访问的检测逻辑
- ThinkPHP中判断是手机端还是电脑端访问的方法
- 网络编程(一)
- Apache HttpComponents学习笔记(二):HttpClient 接口
- MFC数字图像处理24位图转8位图 等四种图像色彩转换方式
- UITableView实现选择框和编辑状态时cell向右移动的自定义方法
- Android 如何有效的解决内存泄漏的问题
- Thinkphp入口文件判断网页是电脑访问还是手机访问网站
- linearity space filitering
- UVALive 6893 The Big Painting(二维hash,暴力)
- Mac OS X下,MySQL在/etc/下没有my.cnf(MySQL修改编码时发现的问题)
- C语言文件操作
- C语言简单算法——最大公约数最小公倍数
- 图像增强-直方图均衡化
- iOS基础笔试题集锦一
- 服务器由单机转换为负载均衡时需要做哪些处理?