php手機(jī)跳轉(zhuǎn)代碼是【function wappc($ac='towap'){$is_wap=checkmobile();if($is_wap){ if($_SERVER['HTTP_HOST']==…】。
推薦:《PHP視頻教程》
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)到對(duì)應(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';//對(duì)于未知類型的瀏覽器,通過$_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,那么對(duì)應(yīng)的手機(jī)端應(yīng)該是m.xxx.com/123.com
第三步:在手機(jī)端head前面調(diào)用步驟2中的代碼
這里做個(gè)說明,我們經(jīng)常看到,有的手機(jī)網(wǎng)站,首頁(yè)會(huì)顯示 電腦端的鏈接,此時(shí)點(diǎn)擊電腦端,不會(huì)再跳到手機(jī)端,這里就要做個(gè)相應(yīng)的處理,例如我們用在鏈接后面加個(gè)get標(biāo)簽 b=topc,然后在第二步函數(shù)中進(jìn)行判斷過濾即可!