thinkphp5判断移动或pc端访问并调用不同模块
2024-09-29 06:19:56
把下面的代码放在app\common.php公共方法那里。
function isMobile()
{
if (isset($_SERVER['HTTP_X_WAP_PROFILE'])) {
return true;
}
if (isset($_SERVER['HTTP_VIA'])) {
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');
if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT']))) {
return true;
}
}
if (isset($_SERVER['HTTP_ACCEPT'])) {
if ((strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') !== false) && (strpos($_SERVER['HTTP_ACCEPT'], 'textml') === false || (strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') < strpos($_SERVER['HTTP_ACCEPT'], 'textml')))) {
return true;
}
}
return false;
}
在pc模块common控制器中写入
public function initialize()
{
if(isMobile()){
$this->redirect('wap/index/index');
} }
在wap模块common控制器中写入
public function initialize()
{
if(!isMobile()){
$this->redirect('index/index/index');
} }
最新文章
- 关于Android中new Notification
- 一个简单的ASP.NET MVC异常处理模块
- c语言快速入门1
- ServiceStack.Redis订阅发布服务的调用
- PriorityQueue优先队列用法入门
- 采用post的方式提交数据
- java.lang.RuntimeException: Invalid action class configuration that references an unknown class named [xxxAction]。
- Entity Framework 6新特性:全局性地自定义Code First约定
- xshell 5连接linux服务器的技巧
- POJ3087Shuffle&#39;m Up(map)
- php +mysql 添加 删除 修改 insert into delete update
- Python自然语言处理学习笔记之评价(evaluationd)
- QTP自动化测试框架课程的目标
- Windows Developer Day - Adaptive Cards
- tf.nn.conv2d 和 tf.nn.max_pool 中 padding 分别为 &#39;VALID&#39; 和 &#39;SAME&#39; 的直觉上的经验和测试代码
- 页面获取Spring Security登录用户
- 决策树(ID3、C4.5、CART)
- 微信小程序入门(三)
- c++入门之文件读取
- 高级组件——表格JTable