携帯電話からウェブサイトにアクセスすることがますます一般的になりつつありますが、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 />}