zoukankan      html  css  js  c++  java
  • 应用升级提示页面

    写了一个系统提示页面,对应的WeChat、H5和Web平台,由于有时需要和后端一起升级,这时候需要停应用,这个时候需要两套nginx配置文件,一套正式应用,一套验证升级

    验证升级只允许测试的域名指向正式的目录,原来正式的域名指向升级目录

    于是升级目录就需要一个提示文件,花了十几分钟写了一个php处理页面

    <?php
    /**
     * User: szliugx@gmail.com
     * Date: 2016/11/4
     * Time: 15:51
     */
    
    $urlPre = $_SERVER['HTTP_HOST'];//获取当前域名  
    $weChatUrl = $urlPre."/wechat.html";
    $mobileUrl = $urlPre."/mobile.html";
    $pcUrl = $urlPre."/pc.html";
    
    if (isset($_SERVER['HTTP_REQUEST_TYPE']) && $_SERVER['HTTP_REQUEST_TYPE'] == "ajax"){
    //ajax提交
    
        return json_encode(['status'=>0,'msg'=>'系统升级中,敬请期待......']);
    }else{
    //非ajax提交
        if(is_mobile()){
        //手机访问
            $user_agent = $_SERVER['HTTP_USER_AGENT'];
            if (strpos($user_agent, 'MicroMessenger') === false) {
                // 非微信
                 $content = curlGet($mobileUrl);
            } else {
                // 微信浏览器,允许访问
                 $content = curlGet($weChatUrl);
            }
        }else{
                //非手机访问
                $content = curlGet($pcUrl);
        }
    
        echo $content;
    }
    
    
    //判断是否是手机
    function is_mobile()
    {
            $agent = strtolower($_SERVER['HTTP_USER_AGENT']);
            $is_pc = (strpos($agent, 'windows nt')) ? true : false;
            $is_mac = (strpos($agent, 'mac os')) ? true : false;
            $is_iphone = (strpos($agent, 'iphone')) ? true : false;
            $is_android = (strpos($agent, 'android')) ? true : false;
            $is_ipad = (strpos($agent, 'ipad')) ? true : false;
            
    
            if($is_pc){
                  return  false;
            }
            
            if($is_mac){
                  return  true;
            }
            
            if($is_iphone){
                  return  true;
            }
            
            if($is_android){
                  return  true;
            }
            
            if($is_ipad){
                  return  true;
            }
    }
    
    
    function curlGet($url)
    {
        $ch = curl_init($url);
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
        curl_setopt($ch, CURLOPT_TIMEOUT, 10);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_HEADER, false);
        $output = curl_exec($ch);//输出内容
        curl_close($ch);
        return $output;
    }

    效果图如下

  • 相关阅读:
    47. VUE-路由是什么?如何实现页面不请求刷新?
    21. SpringBoot 实现国际化 [i18n]
    20. SpringBoot 默认访问首页 以及 加载静态资源
    46. VUE 脚手架 —— vue ui 管理 以及 查看原始配置
    45. VUE ClI4 创建项目
    44.VUE2 项目目录结构解析 和 Runtime-Compiler和Runtime-only的区别
    2 . Mybatis — 增-删-改
    19. SpringBoot 扩展 SpringMVC功能、 接管、自定义SpringMVC
    17. Thymeleaf 模板 的 使用 和 语法
    16. SpringBoot 模板引擎
  • 原文地址:https://www.cnblogs.com/liugx/p/6169467.html
Copyright © 2011-2022 走看看