>  기사  >  백엔드 개발  >  사용자가 mobilephone_php 기술을 통해 액세스하는지 여부를 결정하는 PHP 구현

사용자가 mobilephone_php 기술을 통해 액세스하는지 여부를 결정하는 PHP 구현

WBOY
WBOY원래의
2016-05-16 20:25:28903검색

모바일 기기의 인기로 인해 모바일 기기를 통한 웹사이트 방문도 점점 더 많아질 것입니다. PC에 적용된 페이지는 휴대폰 사용자에게 친숙하지 않은 경우가 종종 있습니다. 사용자가 휴대폰을 통해 접속하고 있는지 확인하는 방법을 소개합니다.

맞춤형 기능은 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.

$agent = check_wap();
if( $agent )
{
header('위치: http://www.nowamagic.net');
나가세요;
}
// wap인지 확인
함수 check_wap(){
// 먼저 매우 정확한 wap 프록시인지 확인하세요
if(stristr($_SERVER['HTTP_VIA'],"wap")){
       true를 반환합니다.
}
// 브라우저가 WML을 허용하는지 확인합니다.
elseif(strpos(strtoupper($_SERVER['HTTP_ACCEPT']),"VND.WAP.WML") > 0){
       true를 반환합니다.
}
//USER_AGENT 확인
elseif(preg_match('/(blackberry|configuration/cldc|hp |hp-|htc |htc_|htc-|iemobile|kindle|midp|mmp|motorola|mobile|nokia|opera mini|opera |Googlebot-Mobile|YahooSeeker/ M1A1-R2D2|android|iphone|ipod|mobi|palm|palmos|pocket|portalmmm|ppc;|smartphone|sonyericsson|sqh|spv|symbian|treo|up.browser|up.link|vodafone|windows ce|xda | xda_)/i', $_SERVER['HTTP_USER_AGENT'])){
       true를 반환합니다.                              }
그렇지 않으면{
거짓 반환
}
}

다음은 모바일 단말기인지 여부를 확인하기 위해 PHP 프레임워크에서 제거된 또 다른 기능입니다.

코드 복사 코드는 다음과 같습니다.
함수 is_mobile_request()
{
$_SERVER['ALL_HTTP'] = isset($_SERVER['ALL_HTTP']) $_SERVER['ALL_HTTP'] : ''; $mobile_browser = '0'
if(preg_match('/(up.browser|up.link|mmp|symbian|smartphone|midp|wap|phone|iphone|ipad|ipod|android|xoom)/i', strtolower($_SERVER['HTTP_USER_AGENT'] )))
$모바일_브라우저
if((isset($_SERVER['HTTP_ACCEPT'])) 및 (strpos(strtolower($_SERVER['HTTP_ACCEPT']),'application/vnd.wap.xhtml xml') !== false))
$모바일_브라우저
if(isset($_SERVER['HTTP_X_WAP_PROFILE']))
$모바일_브라우저
if(isset($_SERVER['HTTP_PROFILE']))
$모바일_브라우저
$mobile_ua = strtolower(substr($_SERVER['HTTP_USER_AGENT'],0,4))
$mobile_agents = 배열(
'w3c','acs-','alav','alca','amoi','audi','avan','benq','bird','blac',
'blaz','brew','cell','cldc','cmd-','dang','doco','eric','hipt','inno',
'ipaq','java','jigs','kddi','keji','leno','lg-c','lg-d','lg-g','lge-',
'maui','maxo','midp','mits','mmef','mobi','mot-','moto','mwbp','nec-',
'newt','noki','oper','palm','pana','pant','phil','play','port','prox',
'qwap','sage','sams','sany','sch-','sec-','send','seri','sgh-','shar',
'sie-','siem','smal','smar','sony','sph-','symb','t-mo','teli','tim-',
'tosh','tsm-','upg1','upsi','vk-v','voda','wap-','wapa','wapi','wapp',
'wapr','webc','winw','winw','xda','xda-'
);
if(in_array($mobile_ua, $mobile_agents))
$모바일_브라우저
if(strpos(strtolower($_SERVER['ALL_HTTP']), 'operamini') !== false)
$모바일_브라우저
// 사용자가 Windows를 사용하는 경우 모든 것을 재설정하기 위한 사전 최종 확인
if(strpos(strtolower($_SERVER['HTTP_USER_AGENT']), 'windows') !== false)
$mobile_browser=0
// 하지만 WP7도 Windows이기 때문에 약간 다른 특성이 있습니다
if(strpos(strtolower($_SERVER['HTTP_USER_AGENT']), 'windows Phone') !== false)
$모바일_브라우저
if($mobile_browser>0)
true를 반환합니다.
그 외
거짓을 반환
}


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