Discuz 判断手机客户端登录

在开发网站时,访问者如果是使用手机浏览器访问我们的站点,会受到一些限制,为此我们需要单独的开发出站点的移动版本,并且在站点的首页加上判断,若访问者是用手机或者其它移动设备访问,页面自动跳转至wap页面。若是PC访问则打开正常页面。怎样去实现呢?

下面是引用一段discuz! x2的代码 ,判断页面是否是手机移动设备访问,若是,则页面输出'wap',立即自动跳转到 'mobile.html' 这个网页,如果是PC访问,则在页面上输出 'PC' ,停顿一秒钟后就自动跳转到 'pc.html' 这个网页.

<?php
function checkmobile() {
 global $_G;
 $mobile = array();
 static $mobilebrowser_list
         =array('iphone', 'android', 'phone', 'mobile',
                'wap', 'netfront', 'java', 'opera mobi',
                'opera mini','ucweb', 'windows ce',
                'symbian', 'series', 'webos', 'sony',
                'blackberry', 'dopod', 'nokia', 'samsung',
                'palmsource', 'xda', 'pieplus', 'meizu',
                'midp', 'cldc', 'motorola', 'foma', 'docomo',
                'up.browser','up.link', 'blazer', 'helio',
                'hosin', 'huawei', 'novarra', 'coolpad',
                'webos', 'techfaith', 'palmsource',
                'alcatel', 'amoi', 'ktouch', 'nexian',
                'ericsson', 'philips', 'sagem', 'wellcom',
                'bunjalloo', 'maui', 'smartphone',
                'iemobile', 'spice', 'bird', 'zte-',
                'longcos', 'pantech', 'gionee', 'portalmmm',
                'jig browser', 'hiptop', 'benq', 'haier',
                '^lct', '320x320', '240x320', '176x220'
               );
 $useragent = strtolower($_SERVER['HTTP_USER_AGENT']);
 if(($v = dstrpos($useragent, $mobilebrowser_list, true))) {
     $_G['mobile'] = $v;
     return true;
 }
 $brower = array('mozilla', 'chrome', 'safari', 'opera',
                 'm3gate', 'winwap', 'openwave', 'myop');
 if(dstrpos($useragent, $brower))
     return false;
 
 $_G['mobile'] = 'unknown';
 if($_GET['mobile'] === 'yes') {
     return true;
 }
 else {
     return false;
 }
}
 
function dstrpos($string, &$arr, $returnvalue = false) {
 if(empty($string))
     return false;
 foreach((array)$arr as $v) {
     if(strpos($string, $v) !== false) {
         $return = $returnvalue ? $v : true;
     return $return;
    }
 }
 return false;
}
 
if (checkmobile())
{
 echo 'wap' ;
 ?>
 <meta http-equiv="refresh" content="0;url=mobile.html">
 <?php
 }
 else
 {
 echo 'pc';
 ?>
 <meta http-equiv="refresh" content="1;url=pc.html">
 <?php
 }
?>

对于上面的代码,在最后我切换到了html代码跳转到不同的页面。

可以使用PC和手机端分别访问地址:gongziya.com/test/testwap,可以看出这两种访问方式访问到了不同的页面。


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
通过使用该源码,开发者可以迅速地将Discuz论坛迁移到Android客户端中。不需要任何的开发工作即可拥有属于自己论坛的Android客户端  准备工作在使用源码之前必须先在Discuz论坛中安装BigApp插件。  一、插件安装应用中心 -> 插件 -> 搜索bigapp -> 点击BigApp手机客户端 -> 安装应用即可安装步骤参考 Bigapp安装方法  二、配置插件1、登录注册模式(原生登录、web登录、原生注册、web注册、允许客户端更换头像)2、第三方登录开关(QQ登录、微信登录开关)3、签到设置(APP签到设置)4、高级DIY设置如下(APP设计器、样式设置), 如图:注:如下配置将不可用(站长认证、生成App、布局设置、推送设置、统计分析), 如图:   使用说明注:请使用Android Studio开发工具,gralde脚本编译注:本源码中不包含消息推送和版本更新功能。1、使用Android Studio导入项目2、在项目中找到 Clan\Clan\res\values\strings_config.xml文件,并进行配置配置项说明如下:<!-- 是否启用分享功能,1代表启用,其它代表不启用 --> <string name="is_use_share">1</string> <!-- 具体是否启用微信、qq、微博分享,1或use_xx_ok代表使用,其它代表不使用--> <string name="use_wechat">use_wechat_ok</string> <string name="use_qq">use_qq_ok</string> <string name="use_weibo">use_weibo_ok</string> <!-- app 主题风格 1.tab风格,2.侧边栏风格,3.类QQ侧边栏风格,4.抽屉菜单风格, 99.QQ空间风格--> <string name="custom_theme">1</string> <!-- api地址 :您的站点地址   api/mobile/iyz_index.php--> <string name="api_url">http://bbs.bigappdemo.com/api/mobile/iyz_index.php</string> <string name="api_url_base">http://bbs.bigappdemo.com/</string> <string name="api_url_path">api/mobile/iyz_index.php</string>注:对于新浪、微信、QQ的应用信息设置,如果没有使用相关平台功能,可以不进行设置。3、在项目中找到 libs\ShareSDK\assets\ShareSDK.xml文件,设置分享相关的key。本app使用的是sharesdk第三方分享,请拷贝QQ、sina、微信开发者平台的key到此文件中。4、编译运行应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值