您好,登錄后才能下訂單哦!
小編給大家分享一下php手機(jī)跳轉(zhuǎn)如何實(shí)現(xiàn),希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
php手機(jī)跳轉(zhuǎn)代碼是【function wappc($ac='towap'){$is_wap=checkmobile();if($is_wap){ if($_SERVER['HTTP_HOST']==...】。
php實(shí)現(xiàn)手機(jī)站自動(dòng)跳轉(zhuǎn)
php實(shí)現(xiàn)手機(jī)站自動(dòng)跳轉(zhuǎn) ,意思是說,用手機(jī)訪問PC站,會(huì)自動(dòng)跳轉(zhuǎn)到對應(yīng)的wap站點(diǎn)。
要實(shí)現(xiàn)這個(gè)功能,我們要三步走。
第一步,判斷訪問的終端是否為手機(jī),代碼如下
/** * * 根據(jù)php的$_SERVER['HTTP_USER_AGENT'] 中各種瀏覽器訪問時(shí)所包含各個(gè)瀏覽器特定的字符串來判斷是屬于PC還是移動(dòng)端 *移動(dòng)端,返回true*程序員人生 wfuyu.com 2016-0317 */function checkmobile() { global $_G; $mobile = array();//各個(gè)觸控瀏覽器中$_SERVER['HTTP_USER_AGENT']所包含的字符串?dāng)?shù)組 static $touchbrowser_list =array('iphone', 'android', 'phone', 'mobile', 'wap', 'netfront', 'java', 'opera mobi', 'opera mini', 'ucweb', 'windows ce', 'symbian', 'series', 'webos', 'sony', 'blackberry', 'dopod', 'nokia', 'samsung', 'palmsource', 'xda', 'pieplus', 'meizu', 'midp', 'cldc', 'motorola', 'foma', 'docomo', 'up.browser', 'up.link', 'blazer', 'helio', 'hosin', 'huawei', 'novarra', 'coolpad', 'webos', 'techfaith', 'palmsource', 'alcatel', 'amoi', 'ktouch', 'nexian', 'ericsson', 'philips', 'sagem', 'wellcom', 'bunjalloo', 'maui', 'smartphone', 'iemobile', 'spice', 'bird', 'zte-', 'longcos', 'pantech', 'gionee', 'portalmmm', 'jig browser', 'hiptop', 'benq', 'haier', '^lct', '320x320', '240x320', '176x220');//window手機(jī)瀏覽器數(shù)組【猜的】 static $mobilebrowser_list =array('windows phone');//wap瀏覽器中$_SERVER['HTTP_USER_AGENT']所包含的字符串?dāng)?shù)組 static $wmlbrowser_list = array('cect', 'compal', 'ctl', 'lg', 'nec', 'tcl', 'alcatel', 'ericsson', 'bird', 'daxian', 'dbtel', 'eastcom', 'pantech', 'dopod', 'philips', 'haier', 'konka', 'kejian', 'lenovo', 'benq', 'mot', 'soutec', 'nokia', 'sagem', 'sgh', 'sed', 'capitel', 'panasonic', 'sonyericsson', 'sharp', 'amoi', 'panda', 'zte'); $pad_list = array('pad', 'gt-p1000'); $useragent = strtolower($_SERVER['HTTP_USER_AGENT']); if(dstrpos($useragent, $pad_list)) { return false; } if(($v = dstrpos($useragent, $mobilebrowser_list, true))){ $_G['mobile'] = $v; return '1'; } if(($v = dstrpos($useragent, $touchbrowser_list, true))){ $_G['mobile'] = $v; return '2'; } if(($v = dstrpos($useragent, $wmlbrowser_list))) { $_G['mobile'] = $v; return '3'; //wml版 } $brower = array('mozilla', 'chrome', 'safari', 'opera', 'm3gate', 'winwap', 'openwave', 'myop'); if(dstrpos($useragent, $brower)) return false; $_G['mobile'] = 'unknown';//對于未知類型的瀏覽器,通過$_GET['mobile']參數(shù)來決定是否是手機(jī)瀏覽器 if(isset($_G['mobiletpl'][$_GET['mobile']])) { return true; } else { return false; }}/** * 判斷$arr中元素字符串是否有出現(xiàn)在$string中 * @param $string $_SERVER['HTTP_USER_AGENT'] * @param $arr 各中瀏覽器$_SERVER['HTTP_USER_AGENT']中必定會(huì)包含的字符串 * @param $returnvalue 返回瀏覽器名稱還是返回布爾值,true為返回瀏覽器名稱,false為返回布爾值【默認(rèn)】* @程序員人生 wfuyu.com 2016-0317 */function dstrpos($string, $arr, $returnvalue = false) { if(empty($string)) return false; foreach((array)$arr as $v) { if(strpos($string, $v) !== false) { $return = $returnvalue ? $v : true; return $return; } } return false;}
第二步,在手機(jī)端使用代碼跳轉(zhuǎn),代碼如下
function wappc($ac='towap'){ $is_wap=checkmobile(); if($is_wap){ //手機(jī)端 if($_SERVER['HTTP_HOST']=='www.wfuyu.com' && $_GET['b']!='topc'){ $url='http://m.wfuyu.com'.$_SERVER['REQUEST_URI']; header('Location: '.$url); } }else{ //PC端 }
這里有個(gè)注意的地方,我這個(gè)方法,必須手機(jī)端url和電腦端同步,例如電腦端地址是www.xxx.com/123.com,那么對應(yīng)的手機(jī)端應(yīng)該是m.xxx.com/123.com
第三步:在手機(jī)端head前面調(diào)用步驟2中的代碼
這里做個(gè)說明,我們經(jīng)??吹?,有的手機(jī)網(wǎng)站,首頁會(huì)顯示 電腦端的鏈接,此時(shí)點(diǎn)擊電腦端,不會(huì)再跳到手機(jī)端,這里就要做個(gè)相應(yīng)的處理,例如我們用在鏈接后面加個(gè)get標(biāo)簽 b=topc,然后在第二步函數(shù)中進(jìn)行判斷過濾即可!
看完了這篇文章,相信你對php手機(jī)跳轉(zhuǎn)如何實(shí)現(xiàn)有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。