php手機跳轉(zhuǎn)代碼是【function wappc($ac='towap'){$is_wap=checkmobile();if($is_wap){ if($_SERVER['HTTP_HOST']==…】。
推薦:《PHP視頻教程》
php實現(xiàn)手機站自動跳轉(zhuǎn)
php實現(xiàn)手機站自動跳轉(zhuǎn) ,意思是說,用手機訪問PC站,會自動跳轉(zhuǎn)到對應的wap站點。
要實現(xiàn)這個功能,我們要三步走。
第一步,判斷訪問的終端是否為手機,代碼如下
/** * * 根據(jù)php的$_SERVER['HTTP_USER_AGENT'] 中各種瀏覽器訪問時所包含各個瀏覽器特定的字符串來判斷是屬于PC還是移動端 *移動端,返回true*程序員人生 wfuyu.com 2016-0317 */function checkmobile() { global $_G; $mobile = array();//各個觸控瀏覽器中$_SERVER['HTTP_USER_AGENT']所包含的字符串數(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手機瀏覽器數(shù)組【猜的】 static $mobilebrowser_list =array('windows phone');//wap瀏覽器中$_SERVER['HTTP_USER_AGENT']所包含的字符串數(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ù)來決定是否是手機瀏覽器 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']中必定會包含的字符串 * @param $returnvalue 返回瀏覽器名稱還是返回布爾值,true為返回瀏覽器名稱,false為返回布爾值【默認】* @程序員人生 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;}
第二步,在手機端使用代碼跳轉(zhuǎn),代碼如下
function wappc($ac='towap'){ $is_wap=checkmobile(); if($is_wap){ //手機端 if($_SERVER['HTTP_HOST']=='www.wfuyu.com' && $_GET['b']!='topc'){ $url='http://m.wfuyu.com'.$_SERVER['REQUEST_URI']; header('Location: '.$url); } }else{ //PC端 }
這里有個注意的地方,我這個方法,必須手機端url和電腦端同步,例如電腦端地址是www.xxx.com/123.com,那么對應的手機端應該是m.xxx.com/123.com
第三步:在手機端head前面調(diào)用步驟2中的代碼
這里做個說明,我們經(jīng)常看到,有的手機網(wǎng)站,首頁會顯示 電腦端的鏈接,此時點擊電腦端,不會再跳到手機端,這里就要做個相應的處理,例如我們用在鏈接后面加個get標簽 b=topc,然后在第二步函數(shù)中進行判斷過濾即可!