ホームページ  >  記事  >  バックエンド開発  >  PHPを使用してiPhone、Android、WeChatブラウザ、PCからのアクセス元を確認する方法

PHPを使用してiPhone、Android、WeChatブラウザ、PCからのアクセス元を確認する方法

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

PHPはhttpプロトコルに基づいてアクセスされ、iPhone、Android、WeChatブラウザ、PCからのアクセス元を判別できます

モバイル端末や PC 端末にデータ インターフェイスを提供するサービス データ ポートとして PHP を使用する場合、インターフェイスのアクセス元を記録することが求められる場合があります。

例: 注文を生成するとき、データ分析を行い、運営やプロモーションにデータ サポートを提供するために、注文を記録する必要がある場合があります。

今はモバイル端末が多すぎるので、非常に多くの判断をしなければなりません。これらのモバイル端末の判断を見てみましょう:

function order_source()  
{  
    $useragent  = strtolower($_SERVER["HTTP_USER_AGENT"]);  
    // iphone  
    $is_iphone  = strripos($useragent,'iphone');  
    if($is_iphone){  
        return 'iphone';  
    }  
    // android  
    $is_android    = strripos($useragent,'android');  
    if($is_android){  
        return 'android';  
    }  
    // 微信  
    $is_weixin  = strripos($useragent,'micromessenger');  
    if($is_weixin){  
        return 'weixin';  
    }  
    // ipad  
    $is_ipad    = strripos($useragent,'ipad');  
    if($is_ipad){  
        return 'ipad';  
    }  
    // ipod  
    $is_ipod    = strripos($useragent,'ipod');  
    if($is_ipod){  
        return 'ipod';  
    }  
    // pc电脑  
    $is_pc = strripos($useragent,'windows nt');  
    if($is_pc){  
        return 'pc';  
    }  
    return 'other';  
}  

ここでは紹介しませんが、ブラウザの区別など、必要に応じて特殊な処理を行うこともできます。

$_SERVER["HTTP_USER_AGENT"] をエコーし​​て見てみると、理解できるでしょう。

WeChat ブラウザに属しているかどうかを判断する場合、IOS と ANDROID の両方に共通する方法は、HTTP_USER_AGENT に次のものが含まれているかどうかを判断することです。micromessenger

$res = strripos($str,$findstr) このメソッドは、$str 文字列内の $findstr の最後の出現と一致します。一致するものが見つからない場合は、false が返されます。

つまり、一致する文字列が最初の位置にある場合は 0 が返され、if($res){...} は正しく返されません。

より正しい書き方は if($res === 0 || $res > 0){...} , (3 つの等号は値が等しいだけでなくデータが等しいことも意味します)タイプ)、

もちろん、どのキーワードがそもそも出てこないのかは分かっているので、上記の書き方で大丈夫です。

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