ホームページ  >  記事  >  バックエンド開発  >  PHP はクライアント UA を決定します

PHP はクライアント UA を決定します

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

PHP を使用してクライアントが携帯電話かコンピューターかを判断するにはどうすればよいですか?実際、開発者は皆、ブラウザを通じて Web サイトにアクセスすると、UA、つまりユーザー エージェント (ユーザー エージェント) をサーバーに送信することを知っています。異なるブラウザ、同じブラウザの異なるバージョン、モバイル ブラウザ、およびコンピュータ ブラウザはすべて異なる UA を持っています。この UA を取得するプログラムを作成し、その UA が何であるかを判断するだけで、それが携帯電話であるかコンピューターであるかを識別できます。

次に、PHP コードを使用して訪問者のブラウザ UA がモバイル ブラウザであるかどうかを判断し、対応するページに自動的にジャンプします。

<?php
        
    function is_mobile(){
        
         //正则表达式,批配不同手机浏览器UA关键词。
        
         $regex_match="/(nokia|iphone|android|motorola|^mot\-|softbank|foma|docomo|kddi|up\.browser|up\.link|";
        
         $regex_match.="htc|dopod|blazer|netfront|helio|hosin|huawei|novarra|CoolPad|webos|techfaith|palmsource|";
        
         $regex_match.="blackberry|alcatel|amoi|ktouch|nexian|samsung|^sam\-|s[cg]h|^lge|ericsson|philips|sagem|wellcom|bunjalloo|maui|";
        
         $regex_match.="symbian|smartphone|midp|wap|phone|windows ce|iemobile|^spice|^bird|^zte\-|longcos|pantech|gionee|^sie\-|portalmmm|";
        
         $regex_match.="jig\s browser|hiptop|^ucweb|^benq|haier|^lct|opera\s*mobi|opera\*mini|320x320|240x320|176x220";
        
         $regex_match.=")/i";
        
                
        
         return isset($_SERVER['HTTP_X_WAP_PROFILE']) or isset($_SERVER['HTTP_PROFILE']) or preg_match($regex_match, strtolower($_SERVER['HTTP_USER_AGENT'])); //如果UA中存在上面的关键词则返回真。
        
    }
        
               
        
         if(is_mobile()) {
        
         //如果为真,则进行WAP页面。
        
           header( "HTTP/1.1 301 Moved Permanently");  
        
           header("Location: http://www.966266.com/wap.php");
        
         }else {    
        
         //如果为假,则进行WEB页面。
        
            header( "HTTP/1.1 301 Moved Permanently"); 
        
            header("Location: http://www.966266.com/"); 
        
         }
        
    ?>


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