>  기사  >  백엔드 개발  >  PHP 휴대폰 점프코드란 무엇인가요?

PHP 휴대폰 점프코드란 무엇인가요?

藏色散人
藏色散人원래의
2020-10-10 10:22:182070검색

PHP 휴대폰 점프 코드는 [function wappc($ac='towap'){$is_wap=checkmobile();if($is_wap){ if($_SERVER['HTTP_HOST']==...]입니다.

PHP 휴대폰 점프코드란 무엇인가요?

추천: "PHP 비디오 튜토리얼"

php는 모바일 사이트의 자동 점프를 실현합니다.

php는 모바일 사이트의 자동 점프를 실현합니다. 즉, 휴대폰을 사용하여 PC 사이트에 액세스하면

이 기능을 구현하려면 세 단계를 거쳐야 합니다.

첫 번째 단계는 액세스한 단말기가 휴대폰인지 확인하는 것입니다

/** *  * 根据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이 컴퓨터 URL과 동기화되어야 한다는 것입니다. xxx.com/123.com인 경우 해당 모바일 URL은 m.xxx.com/123.com

이어야 합니다. 3단계: 모바일 헤드 앞에서 2단계의 코드를 호출합니다.

설명은 다음과 같습니다. 일부 모바일 웹사이트에서는 홈페이지에 컴퓨터 링크가 표시되는 경우가 많습니다. 이때 컴퓨터 단말기를 클릭하면 모바일 단말기로 이동하지 않습니다. 예를 들어, 여기서는 해당 처리를 수행해야 합니다. 링크 뒤에 get 태그 b=topc를 추가한 다음 두 번째 단계 기능

에서 판단 및 필터링을 수행합니다!

위 내용은 PHP 휴대폰 점프코드란 무엇인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.