thinkphp怎样凭证装备会见差别模板
thinkphp凭证装备会见差别模板的要领:1、把“function isMobile(){…}”放在“app\common.php”公共要领中;2、在index?橄碌墓惨炷谏柚们爸貌僮;3、判断为true则执行“mobile/index”要领,不然执行另一个pc端的控制器操作即可。
thinkphp5判断移动或pc端会见并挪用差别模板
把下面的代码放在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; }
登录后复制
再在index?橄碌墓惨炷谏柚们爸貌僮,若是判断为true则执行mobile/index要领(移动端的控制器),不然则执行另一个pc端的控制器操作
public function _initialize(){ if(isMobile()){ $this->redirect(‘mobile/index’); } }
登录后复制
要领2
连忙学习“PHP免费学习条记(深入)”;
把要领放在app/common。php文件夹内里
// 应用公共文件 //判断客户端会见方法 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; }
登录后复制
以上就是thinkphp怎样凭证装备会见差别模板的详细内容,更多请关注本网内其它相关文章!
免责说明:以上展示内容泉源于相助媒体、企业机构、网友提供或网络网络整理,版权争议与本站无关,文章涉及看法与看法不代表GA黄金甲滤油机网官方态度,请读者仅做参考。本文接待转载,转载请说明来由。若您以为本文侵占了您的版权信息,或您发明该内容有任何涉及有违公德、冒犯执法等违法信息,请您连忙联系GA黄金甲实时修正或删除。