您好,登錄后才能下訂單哦!
小編給大家分享一下php手機跳轉如何實現,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
php手機跳轉代碼是【function wappc($ac='towap'){$is_wap=checkmobile();if($is_wap){ if($_SERVER['HTTP_HOST']==...】。
php實現手機站自動跳轉
php實現手機站自動跳轉 ,意思是說,用手機訪問PC站,會自動跳轉到對應的wap站點。
要實現這個功能,我們要三步走。
第一步,判斷訪問的終端是否為手機,代碼如下
/** * * 根據php的$_SERVER['HTTP_USER_AGENT'] 中各種瀏覽器訪問時所包含各個瀏覽器特定的字符串來判斷是屬于PC還是移動端 *移動端,返回true*程序員人生 wfuyu.com 2016-0317 */function checkmobile() { global $_G; $mobile = array();//各個觸控瀏覽器中$_SERVER['HTTP_USER_AGENT']所包含的字符串數組 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手機瀏覽器數組【猜的】 static $mobilebrowser_list =array('windows phone');//wap瀏覽器中$_SERVER['HTTP_USER_AGENT']所包含的字符串數組 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']參數來決定是否是手機瀏覽器 if(isset($_G['mobiletpl'][$_GET['mobile']])) { return true; } else { return false; }}/** * 判斷$arr中元素字符串是否有出現在$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;}
第二步,在手機端使用代碼跳轉,代碼如下
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前面調用步驟2中的代碼
這里做個說明,我們經常看到,有的手機網站,首頁會顯示 電腦端的鏈接,此時點擊電腦端,不會再跳到手機端,這里就要做個相應的處理,例如我們用在鏈接后面加個get標簽 b=topc,然后在第二步函數中進行判斷過濾即可!
看完了這篇文章,相信你對php手機跳轉如何實現有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。