怀化煌甘顾问有限公司

0712-2888027 189-8648-0214
微信公眾號

孝感風信網(wǎng)絡科技有限公司微信公眾號

當前位置:主頁 > 技術(shù)支持 > PHP > laravel框架開發(fā):根據(jù)訪問設備匹配pc端或手機端界面

laravel框架開發(fā):根據(jù)訪問設備匹配pc端或手機端界面

時間:2019-08-13來源:風信官網(wǎng) 點擊: 1571次
以下代碼為根據(jù)終端不同的訪問設備,利用laravel框架的view返回不同的模板,在不改變用戶訪問url情況下,根據(jù)訪問設備匹配不同的PC端或手機端模板效果。
 
在controller控制器中進行訪問設置的判斷:
 
$isMobile = $this->isMobile();

if ($isMobile) {
	return view('mobile'); //移動端模板
} else {
	return view('pc'); //PC端模板
}


//判斷是否是移動端訪問
   public function isMobile()
    {
        // 如果有HTTP_X_WAP_PROFILE則一定是移動設備
        if (isset ($_SERVER['HTTP_X_WAP_PROFILE'])) {
            return TRUE;
        }
        // 如果via信息含有wap則一定是移動設備,部分服務商會屏蔽該信息
        if (isset ($_SERVER['HTTP_VIA'])) {
            return stristr($_SERVER['HTTP_VIA'], "wap") ? TRUE : FALSE;// 找不到為flase,否則為TRUE
        }
        // 判斷手機發(fā)送的客戶端標志,兼容性有待提高
        if (isset ($_SERVER['HTTP_USER_AGENT'])) {
            $clientkeywords = array(
                'mobile',
                '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'
            );
            // 從HTTP_USER_AGENT中查找手機瀏覽器的關(guān)鍵字
            if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT']))) {
                return TRUE;
            }
        }
        if (isset ($_SERVER['HTTP_ACCEPT'])) { // 協(xié)議法,因為有可能不準確,放到最后判斷
            // 如果只支持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;
    }
 
欄目列表
推薦內(nèi)容
熱點內(nèi)容
展開
婺源县| 万山特区| 合江县| 历史| 济阳县| 大埔区| 中卫市| 清远市| 兴山县| 宣化县| 鲁甸县| 砚山县| 延吉市| 新河县| 全州县| 邵东县| 广宗县| 鹿邑县| 陇南市| 盘锦市| 洪湖市| 鹤壁市| 澄城县| 瓮安县| 双流县| 兴仁县| 凤凰县| 大渡口区| 资阳市| 冕宁县| 民丰县| 资中县| 宁化县| 辽阳市| 麦盖提县| 宕昌县| 吴江市| 南和县| 天镇县| 东山县| 湄潭县|