ホームページ  >  記事  >  バックエンド開発  >  PHP は、Web サイトがコンピューターからアクセスされているか、携帯電話からアクセスされているかをどのように識別しますか?

PHP は、Web サイトがコンピューターからアクセスされているか、携帯電話からアクセスされているかをどのように識別しますか?

WBOY
WBOYオリジナル
2016-06-20 13:04:131099ブラウズ

携帯電話からウェブサイトにアクセスすることがますます一般的になりつつありますが、PC やモバイル端末からのウェブサイトへのアクセス数をカウントしたい場合、またはモバイル端末向けに特別な処理が必要な場合は、 Web サイトにアクセスするユーザーのクライアントを認証する必要があります。 次の例は、ユーザーが PC から Web サイトにアクセスしているか、PHP 経由で Web サイトにアクセスしているかを識別する方法です。

<span style="font-size: 14px;"><?php</span><br />function isMobile(){ <br />$useragent=isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '';<br />$useragent_commentsblock=preg_match('|\(.*?\)|',$useragent,$matches)>0?$matches[0]:'';<br />$mobile_os_list=array('Google Wireless Transcoder','Windows CE','WindowsCE','Symbian','Android','armv6l','armv5','Mobile','CentOS','mowser','AvantGo','Opera Mobi','J2ME/MIDP','Smartphone','Go.Web','Palm','iPAQ');<br />$mobile_token_list=array('Profile/MIDP','Configuration/CLDC-','160×160','176×220','240×240','240×320','320×240','UP.Browser','UP.Link','SymbianOS','PalmOS','PocketPC','SonyEricsson','Nokia','BlackBerry','Vodafone','BenQ','Novarra-Vision','Iris','NetFront','HTC_','Xda_','SAMSUNG-SGH','Wapaka','DoCoMo','iPhone','iPod');<br />$found_mobile=CheckSubstrs($mobile_os_list,$useragent_commentsblock)||CheckSubstrs($mobile_token_list,$useragent);<br />if($found_mobile){ <br />return true;<br />}else{ <br />return false;<br />}<br />}<br />function CheckSubstrs($substrs,$text){ <br />foreach($substrs as $substr){<br />if(false!==strpos($text,$substr)){ <br />return true;<br />} <br />return false;<br />}<br />}<br />if(isMobile()){<br />echo '手机登录 m.phpernote.com';<br />}else{<br />echo '电脑登录 www.phpernote.com';<br />}


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。