まずAPP_STATUSは組み込み定数導入、TPは、自動的に別のモジュールを指していることにより、異なるプロジェクトプロファイル、設定ファイルをロードし、APP_STATUSエントリファイルのパラメータを増加しました
WAP電話モジュールにアクセスする際にエンド電話は、ドメイン名をジャンプすることなく、携帯電話の最後にモバイルWebアクセスを発揮
config.phpのとMobie:まず、我々は./Application/Common/Conf/カタログ内の2つのパブリックプロファイルを作成します。 PHP
config.phpファイル
<?PHPの
戻り 配列( 'DEFAULT_MODULE' => 'インデックス'、 'DEFAULT_CONTROLLER' => 'インデックス'、 'のdefault_action' => 'インデックス' )。
Mobie.phpファイル:
<?PHPの
戻り 配列( 'DEFAULT_MODULE' => 'Mobie'、 'DEFAULT_CONTROLLER' => 'インデックス'、 'のdefault_action' => 'インデックス' )。
モバイル端末を追加し、タグ付け、ファイル内のバックライン21は、「カスタムアプリケーションディレクトリ」終了で、インデックスファイルに単一のエントリに(方法は、下部に推奨)キーを決定します。
もし(is_mobile_request()){ 定義( 'APP_STATUS'、 'config_wapを' )。 } 他{ 定義( 'APP_STATUS'、 'インデックス' ); }
このように、異なるモジュールを呼び出すためのキーAPP_STATUSと、is_mobile_request()書き込み:
関数is_mobile_request(){ $ _SERVER [ 'ALL_HTTPが'] ISSET($ _ SERVER [ 'ALL_HTTPを'])= $ _SERVER [ 'ALL_HTTP']: ''; $ mobile_browser = '0'; (するpreg_match(場合'/(up.browser | up.link | MMP |シンビアン|スマートフォン| MIDP | WAP |電話| iphone | ipadの|のipod |アンドロイド| Xoomの)/ i'は、strtolower($ _、SERVER [ 'HTTP_USER_AGENT'] ))) $のmobile_browser ++; もし((ISSET($ _、SERVER [ 'HTTP_ACCEPT']))及び(strpos(strtolower($ _、SERVER [ 'HTTP_ACCEPT'])、 'アプリケーション/ vnd.wap.xhtml + XML')== false)を!) $のmobile_browser ++; (ISSET($ _、SERVER [ 'HTTP_X_WAP_PROFILE']))の場合 の$ mobile_browser ++; (ISSET($ _、SERVER [ 'HTTP_PROFILE']))の場合 の$ mobile_browser ++; $ mobile_agents =配列( 'W3C'、 'ACS - '、 'alav'、 'ALCA'、 'AMOI'、 'アウディ'、 'アバン'、 'BENQ'、 '鳥'、 'BLAC'、 'blaz'、 '醸造'、 'セル'、 'CLDC'、 'CMD - '、 '一顧'、 'DOCO'、 'エリック'、 'hipt'、 'INNO'、 'IPAQ'、 'ジャワ'、 'ジグ'、」 KDDI」、 'keji'、 'レノ'、 'LG-C'、 'LG-D'、 'LG-G'、 'lge-'、 'マウイ'、 'MAXO'、 'MIDP'、 'MITS'、 'mmef'、 'mobiは'、 'MOT - '、 'モト'、 'mwbp'、 'nec-'、 'イモリ'、 'noki'、 'OPER'、 '手のひら'、 'PANA'、 'パンツ'、 "フィル' '遊び'、 'ポート'、 'PROX'、 'qwap'、 'セージ'、 'のSAM'、 '三易'、 'SCH - '、 '秒- '、 ''、 'セリを送ります'、' SGH - ' 'のshar'、 'SIE - '、 'シェムリ'、 'をSmaI'、 'SMAR'、 'ソニー'、 'SPH - '、 'SYMB'、 'T-MO'、 'テリー'、'ティム- 」、 'トッシュ'、 'TSM - '、 'upg1'、 'UPSI'、 'VK-V'、 'ヴォーダ'、 'WAP - '、 'wapa'、 'WAPI'、 'wapp'、'SmaIで'、 'SMAR'、 'ソニー'、 'SPH - '、 'SYMB'、 'T-MO'、 'テリー'、 'tim-'、 'トッシュ'、 'TSM - '、 'upg1'、」 UPSI」、 'VK-V'、 'ヴォーダ'、 'WAP - '、 'wapa'、 'WAPI'、 'wapp'、'SmaIで'、 'SMAR'、 'ソニー'、 'SPH - '、 'SYMB'、 'T-MO'、 'テリー'、 'tim-'、 'トッシュ'、 'TSM - '、 'upg1'、」 UPSI」、 'VK-V'、 'ヴォーダ'、 'WAP - '、 'wapa'、 'WAPI'、 'wapp'、 'wapr'、 'WEBC'、」ウェハ内」、 'ウェハ内'、 'XDA'、 'xda-' ); もし(in_array($ mobile_ua、$ mobile_agents))SYMB」、 'T-MO'、 'テリー'、 'tim-'、 'wapr'、 'WEBC'、 'ウェハ内'、 'ウェハ内'、 'XDA'、 'xda-' )。もし(in_array($ mobile_ua、$ mobile_agents))SYMB」、 'T-MO'、 'テリー'、 'tim-'、 'wapr'、 'WEBC'、 'ウェハ内'、 'ウェハ内'、 'XDA'、 'xda-' )。もし(in_array($ mobile_ua、$ mobile_agents)) $ mobile_browser ++; もし(strpos(strtolower($ _、SERVER [ 'ALL_HTTP'])、 'operamini')== falseを!) $のmobile_browser ++; ユーザーがWindows上にある場合、すべてをリセットする//前の最終チェック (!strpos(strtolower($ _、SERVER [ 'HTTP_USER_AGENT'])、 '窓')== false)の場合は $ mobile_browser = 0; //しかし、WP7はわずかに異なる特性を、また、Windowsで あれば(strpos(strtolower($ _、SERVER [ 'HTTP_USER_AGENT'])、 'ウィンドウズフォン')== falseを!) $のmobile_browser ++; ($ mobile_browser> 0)であれば trueを返します。 それ以外 はfalseを返します。 }
参考TPドキュメントします。http://document.thinkphp.cn/manual_3_2.html#load_config
また、私は個人的に以下のコードを検証するのではなく、判断する使用JSが見つかりました:
(関数(){ VAR RES = のGetRequest(); VARパー=のRES [ 'インデックス' ]; もし!(PAR = 'gfan' ){ VAR UA = navigator.userAgent.toLowerCase(); varが含ま= 関数(、 B){ 場合(a.indexOf(B)= - 1){!戻り 真;} }; VAR toMobileVertion = 関数(){ window.location.href = '手机站地址' } もし((UA、 "アプリ"という)||((UAが含まれ、 "RV:1.2.3.4"が含まれている)))||()(UA、 "0.0.0.0"が含ま||(「、(UAが含ま8.0.552.237 "))){ 戻り 偽} もし、(((UA、含む"アンドロイド")は&&含有(UA、"モバイル"||))((UA、含む"アンドロイド")は&&含有(UA、"モジラ」)) ||((UA、 "アンドロイド")&&(UAが含まれ、 "オペラ"が含ま)) ||含有(UAを、 "ucweb7を")||(UA、 "iPhone"が含ま)){toMobileVertion();} } } ())。 関数のGetRequest(){ VARの URL = location.search。// 获取URLの中符后的字串"?" VAR theRequest = 新しいオブジェクト(); STR = url.substr(1 )。 STRS = str.split( "&" )。 用(VAR ; iはstrs.lengthを<I ++は、I = 0 ){ theRequest [STRS [I] .split( "=")[0] =アンエスケープ(STRS [I] .split( "=")[ 1 ])。 } } 戻りtheRequest。 }