


WeChatパブリックプラットフォームメッセージインターフェース開発(31) WeChatブラウザHTTP_USER_AGENT判定_PHPチュートリアル
WeChatパブリックプラットフォーム開発 WeChatパブリックプラットフォーム開発者 WeChatパブリックプラットフォーム開発モデル WeChatブラウザ HTTP_USER_AGENT
著者: Fangbei Studio
原文: http://www.cnblogs.com/txw1958/ archive/2013 /05/25/weixin-if31-http_user_agent.html
WeChat パブリック プラットフォームの開発プロセスでは、Web ページを開発し、WeChat ブラウザからアクセスされているかどうかを判断する必要がある場合があります。この記事では、この判断を行う方法を紹介します。
1. $_SERVER配列
$_SERVER は、ヘッダー、パス、スクリプトの場所などの情報を含む配列です。この配列内の項目は Web サーバーによって作成されます。すべてのサーバーがすべてのアイテムを提供するという保証はありません。サーバーは一部のアイテムを無視したり、ここにリストされていないアイテムを提供したりする可能性があります。
$_SERVER では、次の要素が見つからない場合があります。コマンドラインから PHP を実行する場合、以下にリストされている要素の一部は有効である (または実際的な意味を持たない) ことに注意してください。
- 'PHP_SELF'
- ドキュメントルートに関連する、現在実行中のスクリプトのファイル名。たとえば、http://example.com/test.php/foo.bar のスクリプトで $_SERVER['PHP_SELF'] を使用すると、/test.php/foo.bar となります。 __FILE__ 定数には、現在の (つまり、ファイルを含む) ファイルの絶対パスとファイル名が含まれます。 PHP バージョン 4.3.0 以降、PHP がコマンドライン モードで実行されている場合、この変数にはスクリプト名が含まれます。この変数は以前のバージョンでは使用できません。
- 'argv'
- このスクリプトに渡される引数の配列。スクリプトがコマンド ラインから実行されると、argv 変数が C スタイルのコマンド ライン引数としてプログラムに渡されます。 GET 経由で呼び出された場合、この変数にはクエリ文字列が含まれます。
- 'argc'
- コマンド ライン モードでこのスクリプトに渡される引数の数が含まれます (コマンド ライン モードで実行している場合)。
- 'GATEWAY_INTERFACE'
- サーバーによって使用される CGI 仕様のバージョン (例: "CGI/1.1")。
- 'SERVER_ADDR'
- スクリプトが現在実行されているサーバーの IP アドレス。
- 'SERVER_NAME'
- スクリプトが現在実行されているサーバーのホスト名。スクリプトが仮想ホスト上で実行されている場合、名前はその仮想ホストに設定された値によって決まります。
- 'SERVER_SOFTWARE'
- リクエストに応答するときにヘッダー情報で指定されるサーバー識別文字列。
- 'SERVER_PROTOCOL'
- ページをリクエストするときの通信プロトコルの名前とバージョン。たとえば、「HTTP/1.0」です。
- 'REQUEST_METHOD'
- ページにアクセスするために使用されるリクエストメソッド。例: "GET"、"HEAD"、"POST"、"PUT"
- 'REQUEST_TIME'
- リクエストが開始されたときのタイムスタンプ。 PHP 5.1.0 以降で利用可能です。
- 'REQUEST_TIME_FLOAT'
- リクエストが開始されたときのタイムスタンプ (マイクロ秒レベルの精度)。 PHP 5.4.0 以降で有効です。
- 'QUERY_STRING'
- クエリ文字列 (クエリ文字列) (存在する場合)。ページ アクセスが実行されます。
- 'DOCUMENT_ROOT'
- 現在実行中のスクリプトが配置されているドキュメントルートディレクトリ。サーバー構成ファイルで定義されます。
- 'HTTP_ACCEPT'
- 現在のリクエストヘッダー内の Accept: 項目の内容 (存在する場合)。
- 'HTTP_ACCEPT_CHARSET'
- 現在のリクエストヘッダー内の Accept-Charset: 項目の内容 (存在する場合)。例: 「iso-8859-1,*,utf-8」。
- 'HTTP_ACCEPT_ENCODING'
- 現在のリクエストヘッダー内の Accept-Encoding: 項目の内容 (存在する場合)。例: 「gzip」。
- 'HTTP_ACCEPT_LANGUAGE'
- 現在のリクエストヘッダー内の Accept-Language: 項目の内容 (存在する場合)。例: 「en」。
- 'HTTP_CONNECTION'
- 現在のリクエストヘッダー内の Connection: 項目の内容 (存在する場合)。例: 「キープアライブ」。
- 'HTTP_HOST'
- 現在のリクエストヘッダー内の Host: 項目の内容 (存在する場合)。
- 'HTTP_REFERER'
- 現在のページの前にあるページのアドレス (存在する場合) にユーザー エージェントを誘導します。ユーザーエージェント設定によって決定されます。すべてのユーザーエージェントがこの項目を設定するわけではなく、HTTP_REFERERを変更する機能を提供するユーザーエージェントもあります。要するに、その値は信頼できません。
- 'HTTP_USER_AGENT'
- 現在のリクエストヘッダー内の User-Agent: 項目の内容 (存在する場合)。この文字列は、このページにアクセスするユーザー エージェントに関する情報を示します。典型的な例は次のとおりです: Mozilla/4.5 [en] (X11; U; Linux 2.2.9 i586)。
- 'HTTPS'
- スクリプトが HTTPS プロトコル経由でアクセスされる場合は、空ではない値に設定します。
- 'REMOTE_ADDR'
- 現在のページを閲覧しているユーザーの IP アドレス。
- 'REMOTE_HOST'
- 現在のページを閲覧しているユーザーのホスト名。 DNS 逆引き解決は、ユーザーの REMOTE_ADDR には依存しません。
- 'REMOTE_PORT'
- Web サーバーに接続するためにユーザーのマシンで使用されるポート番号。
- 'REMOTE_USER'
- 認証済みユーザー
- 'REDIRECT_REMOTE_USER'
- 認証済みユーザーリクエストが内部的にリダイレクトされた場合。
- 'SCRIPT_FILENAME'
-
現在実行中のスクリプトの絶対パス
- 'SERVER_ADMIN'
- この値は、Apache サーバー構成ファイルの SERVER_ADMIN パラメーターを指定します。スクリプトが仮想ホスト上で実行されている場合、この値はその仮想ホストの値になります。
- 'SERVER_PORT'
- Webサーバーによって使用されるポート。デフォルト値は「80」です。 SSL セキュア接続を使用する場合、この値はユーザーが設定した HTTP ポートです。
- 'SERVER_SIGNATURE'
- には、サーバーのバージョンと仮想ホスト名を含む文字列が含まれます。
- 'PATH_TRANSLATED'
- 現在のスクリプトが配置されているファイル システムのベース パス (ドキュメント ルート ディレクトリではありません)。これは、サーバーが仮想パスから実際のパスにイメージ化された後の結果です。
- 'SCRIPT_NAME'
- には、現在のスクリプトへのパスが含まれます。これは、ページがそれ自体を指す必要がある場合に便利です。 __FILE__ 定数には、現在のスクリプト (つまり、インクルード ファイル) の完全なパスとファイル名が含まれます。
- 'REQUEST_URI'
- URIは、アクセスするページを指定するために使用されます。たとえば、「/index.html」。
- 'PHP_AUTH_DIGEST'
- Apache モジュールとして実行している場合、HTTP ダイジェスト認証プロセス中に、この変数はクライアントによって送信された「Authorization」HTTP ヘッダーの内容に設定されます (認証をさらに処理するため)手術)。
- 'PHP_AUTH_USER'
- PHP が Apache または IIS (PHP 5 は ISAPI) モジュール モードで実行されており、HTTP 認証関数が使用されている場合、この変数はユーザーが入力したユーザー名になります。 。
- 'PHP_AUTH_PW'
- PHP が Apache または IIS (PHP 5 は ISAPI) モジュール モードで実行されており、HTTP 認証関数が使用されている場合、この変数はユーザーが入力したパスワードになります。
- 'AUTH_TYPE'
- PHP が Apache モジュール モードで実行され、HTTP 認証関数を使用している場合、この変数は認証タイプです。
- 'PATH_INFO'
- には、実際のスクリプト名の後に、クエリ文字列が存在する場合はその前に、クライアントによって提供されたパス情報が含まれます。たとえば、現在のスクリプトが URL http://www.example.com/php/path_info.php/some/stuff?foo=bar 経由でアクセスされる場合、$_SERVER['PATH_INFO'] /some/stuff が含まれます。
- 'ORIG_PATH_INFO'
- PHPで処理される前の「PATH_INFO」のオリジナルバージョン。
2. HTTP_USER_AGENT を取得します
以下の方法で入手可能です
リーリーiPhoneの場合は、戻ってください
リーリーAndroid では、戻る
リーリーWeChat ブラウザーが であり、その後にそのバージョン番号が続くことがわかります
同時に、電話の種類が iPhone か Android かを判断することもできます
3. WeChat ブラウザーのアクセスを決定します
HTTP_USER_AGENTにMicroMessengerがあるかどうか判断できます
================================================ === ============
Fangbei StudioWeChat をフォローして、私たちと業界の最新の動向について学びましょう

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









H5。ミニプログラムとアプリの主な違いは次のとおりです。技術アーキテクチャ:H5はWebテクノロジーに基づいており、ミニプログラムとアプリは独立したアプリケーションです。経験と機能:H5は軽量で使いやすく、機能が限られています。ミニプログラムは軽量で、インタラクティブが良好です。アプリは強力で、スムーズな経験があります。互換性:H5はクロスプラットフォーム互換性があり、アプレットとアプリはプラットフォームによって制限されています。開発コスト:H5には、開発コストが低く、中程度のミニプログラム、最高のアプリがあります。適用可能なシナリオ:H5は情報表示に適しており、アプレットは軽量アプリケーションに適しており、アプリは複雑な機能に適しています。

抽象クラスとインターフェイスの主な違いは、抽象クラスにメソッドの実装を含めることができるのに対し、インターフェイスはメソッドの署名のみを定義できることです。 1。要約クラスは、デフォルトの実装と共有コードの提供に適した要約および具体的なメソッドを含めることができる要約キーワードを使用して定義されます。 2。インターフェイスは、行動規範と複数継承を定義するのに適したメソッドシグネチャのみを含むインターフェイスキーワードを使用して定義されます。

Safariでカスタムスタイルシートを使用することについてのディスカッション今日は、Safariブラウザ向けのカスタムスタイルシートのアプリケーションに関する質問について説明します。フロントエンド初心者...

最近、Webページにローカルにインストールされたフォントファイルを使用して、インターネットから無料のフォントをダウンロードし、システムに正常にインストールしました。今...

H5はより柔軟でカスタマイズ可能ですが、熟練したテクノロジーが必要です。ミニプログラムはすぐに開始でき、メンテナンスが簡単ですが、WeChatフレームワークによって制限されています。

JavaScriptまたはCSSを使用して、ブラウザの印刷設定のページの上部と端を制御する方法。ブラウザの印刷設定には、ディスプレイが...

Webページにローカルにインストールされたフォントファイルを使用する方法Webページ開発でこの状況に遭遇しましたか:コンピューターにフォントをインストールしました...

H5とアプレットの選択は、要件に依存します。クロスプラットフォーム、迅速な発達、高いスケーラビリティを備えたアプリケーションの場合は、H5を選択します。ネイティブエクスペリエンス、リッチな機能、プラットフォームの依存関係を持つアプリケーションについては、アプレットを選択します。
