写了一个系统提示页面,对应的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; }
效果图如下