php判断手机段登录,以及phpcms手机PC双模板调用
Posted 发瑞
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php判断手机段登录,以及phpcms手机PC双模板调用相关的知识,希望对你有一定的参考价值。
首先一段php代码判断是否为手机浏览:
function isMobile() { // 如果有HTTP_X_WAP_PROFILE则一定是移动设备 if (isset ($_SERVER[\'HTTP_X_WAP_PROFILE\'])) { 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; }
phpcms 模板文件中创建两个模板:
其中 content中的文件是PC端模板,content_m中的文件是手机端模板。
其次在pgpcms中 编辑 phpcms/modules/content/index.php
讲以上php代码 放到index的class类中。
找到所有的:
include template(\'content\',$template);
替换为:
if($this->isMobile()){ include template(\'content_m\',$template); }else{ include template(\'content\',$template);
最后将:
include template(\'content\',\'index\',$default_style);
替换为:
if($this->isMobile()){ include template(\'content_m\',\'index\',$default_style); }else{ include template(\'content\',\'index\',$default_style); }
到现在为止基本上就设置好了当运行phpcms中的index.php文件是,会根据是否为手机端调用不同的模板,实现了手机端和PC端数据库的同步。
以上是关于php判断手机段登录,以及phpcms手机PC双模板调用的主要内容,如果未能解决你的问题,请参考以下文章