Thinkphp入口文件判断网页是电脑访问还是手机访问网站
2016-10-25 11:08
656 查看
<?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");
相关文章推荐
- ThinkPHP在入口文件中判断是手机还是PC端访问网站
- 判断是手机还是电脑访问网站
- discuz php判断是手机访问还是电脑访问网站
- javascript判断是手机还是电脑访问网页的简单实例分享
- php判断终端是手机还是电脑访问网站的思路及代码
- java后台怎么判断是手机还是电脑访问网站
- 如何判断是手机还是电脑在访问网站?
- 判断是手机还是电脑访问网站
- php判断终端是手机还是电脑访问网站代码
- js判断是手机访问网站还是电脑自动跳转WAP站
- javascript判断是手机还是电脑访问网页的简单实例分享
- javascript如何判断是手机还是电脑访问本网页
- asp.net 或JSP 判断是手机还是电脑访问网站的可靠方法
- php判断终端是手机还是电脑访问网站的思路及代码
- php判断客户端是手机还是电脑访问网站代码
- php怎么判断网页是电脑访问还是手机访问
- php判断终端是手机还是电脑访问网站代码
- php判断终端是手机还是电脑访问网站代码
- 网页访问,js判断是电脑访问还是手机访问
- .net及php判断手机还是电脑访问网站