1. 程式人生 > >Thinkphp入口檔案判斷網頁是電腦訪問還是手機訪問網站

Thinkphp入口檔案判斷網頁是電腦訪問還是手機訪問網站

<?php
//開啟除錯模式
define('APP_DEBUG',true);  // 除錯模式,每一次請求都載入一次,不走快取舊檔案
//define('APP_DEBUG',false);  // 生產模式
//判斷是手機登入還是電腦登入
function ismobile() {
    // 如果有HTTP_X_WAP_PROFILE則一定是移動裝置
    if (isset ($_SERVER['HTTP_X_WAP_PROFILE']))
        return true;
    
    //此條摘自TPM智慧切換模板引擎,適合TPM開發
    if(isset ($_SERVER['HTTP_CLIENT']) &&'PhoneClient'==$_SERVER['HTTP_CLIENT'])
        return true;
    //如果via資訊含有wap則一定是移動裝置,部分服務商會遮蔽該資訊
    if (isset ($_SERVER['HTTP_VIA']))
        //找不到為flase,否則為true
        return stristr($_SERVER['HTTP_VIA'], 'wap') ? true : false;
    //判斷手機發送的客戶端標誌,相容性有待提高
    if (isset ($_SERVER['HTTP_USER_AGENT'])) {
        $clientkeywords = array(
            'nokia','sony','ericsson','mot','samsung','htc','sgh','lg','sharp','sie-','philips','panasonic','alcatel','lenovo','iphone','ipod','blackberry','meizu','android','netfront','symbian','ucweb','windowsce','palm','operamini','operamobi','openwave','nexusone','cldc','midp','wap','mobile'
        );
        //從HTTP_USER_AGENT中查詢手機瀏覽器的關鍵字
        if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT']))) {
            return true;
        }
    }
    //協議法,因為有可能不準確,放到最後判斷
    if (isset ($_SERVER['HTTP_ACCEPT'])) {
        // 如果只支援wml並且不支援html那一定是移動裝置
        // 如果支援wml和html但是wml在html之前則是移動裝置
        if ((strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') !== false) && (strpos($_SERVER['HTTP_ACCEPT'], 'text/html') === false || (strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') < strpos($_SERVER['HTTP_ACCEPT'], 'text/html')))) {
            return true;
        }
    }
    return false;
 }




if(ismobile()){
    //定義title的公眾部分
    // header("Location: http://www.baidu.com");
    // exit;
    // 定義應用目錄
    define('APP_PATH','./Mobile/');
}else{
    // 定義應用目錄
    define('APP_PATH','./');
}


//引入ThinkPHP框架的介面檔案
include("./ThinkPHP/ThinkPHP.php");

相關推薦

Thinkphp入口檔案判斷網頁電腦訪問還是手機訪問網站

<?php //開啟除錯模式 define('APP_DEBUG',true);  // 除錯模式,每一次請求都載入一次,不走快取舊檔案 //define('APP_DEBUG',false);  // 生產模式 //判斷是手機登入還是電腦登入 function is

ubuntu-apache下隱藏thinkphp入口檔案index.php

1、首先開啟apache的rewirte模組       修改/etc/apache2/apache2.conf檔案,把AllowOverride None改為AllowOverride All 2、在專案根目錄下新增.htaccess檔案,修改rewrite規則   

ThinkPHP入口檔案跳轉

需求:輸入網址如http://www.test.com,由於ThinkPHP會預設進入index.php該入口檔案即跳轉至http://www.test.com/index.php,這時候想輸入網址直接跳到http://www.test.com/sun/Admin.php。

php網站判斷用戶是否是手機訪問的方法

介紹 pla ica 友好 accept obi als aud sam 有些時候,我們需要判斷用戶是否用手機訪問,如果是手機的話,就跳轉到指定的手機友好頁面。這裏就介紹一下,如何判斷用戶是否用手機訪問。 自定義的函數如下: $agent = check_wap();

判斷用戶用手機訪問還是用電腦訪問網頁

電腦 sun eos hp-ux match variables req aix resp C# 判斷用戶用手機訪問還是用電腦訪問網頁string osPat = "mozilla|m3gate|winwap|openwave|Windows NT|Windows 3.1|

轉: 如何用手機訪問電腦本地 localhost 網頁或者服務器, 以調試web項目

height nbsp 服務 host 針對性 fig bsp local 解決 最近開始轉向移動開發方向,因此對於一個移動開發的前端來說,使用各種真機來進行自己網站或者系統的界面進行針對性的調試就顯的尤為重要了。 因此,會經常通過電腦開啟一個 wifi 來供手機進行連接,

ThinkPHP系列篇】ThinkPHP框架使網頁能夠在瀏覽器中訪問(二)

在第一小節中,我們介紹了Thinkphp的搭建過程,在這一節,分享一下如何讓網頁模板在thinkphp環境中顯示給我們。 a) 將網頁模板放在View檢視中並根據名稱分別建立資料夾,分模組建立

如何讓手機訪問電腦本地伺服器的網頁---超簡單

超簡單超實用 移動開發的前端來說,使用各種真機來進行自己網站進行檢視是必要的。因此,會經常通過電腦開啟一個 wifi 來供手機進行連線,形成一個小的區域網,然後就通過區域網的 ip 地址(查詢 ip 地址,cmd——》ipconfig), 通過 ip 地址來進行自己本地伺服器中的專案訪問。這種方法十分的簡單

如何用手機訪問電腦本地 localhost 網頁或者伺服器, 以除錯web專案

最近開始轉向移動開發方向,因此對於一個移動開發的前端來說,使用各種真機來進行自己網站或者系統的介面進行鍼對性的除錯就顯的尤為重要了。因此,會經常通過電腦開啟一個 wifi 來供手機進行連線,形成一個小的區域網,然後就通過區域網的 ip 地址(查詢 ip 地址,cmd——》ipconfig), 通過 ip

手機訪問電腦的靜態檔案(html...)

裝個node; 全域性裝個anywhere的npm包。(npm i -g anywhere) 大功告成,現在到任意目錄下用命令列執行anywhere就可以;(-p 引數可以設定啟動埠) 手機和電腦是同個網路環境才可以(同個內網)。 ps : 在你要訪問的檔案裡

判斷使用者通過手機訪問wap還是電腦直接訪問

首先說最根本的解決方法:手 機訪問時,會附帶傳送user-agent資訊,這個資訊裡面會有手機號碼資訊,那麼如果能取得手機號碼,則可以肯定是通過手機wap訪問的。但是目前中 國移動已經遮蔽了user-agent資訊,所以獲取不到手機號碼。有關係的朋友可以聯絡移動公司,把wap網站伺服器的ip提交給中國移動,

ThinkPHP 專案構建與入口檔案概念

入口檔案 一個專案(系統)通常具有一個統一的入口檔案,專案的所有功能操作都是通過這個入口檔案進行的,並且往往入口檔案是第一步被執行的,這是 ThinkPHP 或者說 PHP 框架中非常重要的一個概念。 建立入口檔案會在下面介紹。 專案目錄規劃 通常我們一個專案或者

Thinkphp 3.2.3 隱藏入口檔案及模組名稱

//隱藏入口檔案 在與入口檔案同級目錄,將.htaccess檔案中 RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]修改為RewriteRule ^(.*)$ in

Thinkphp 3.2.3 隱藏入口檔案

Thinkphp 3.2.3 配置 - 隱藏入口檔案 在與入口檔案同級目錄,修改.htaccess檔案 <IfModule mod_rewrite.c> Options +FollowSymlinks RewriteEngine O

php如何判斷手機訪問還是電腦訪問

<?php function isMobile(){ $useragent=isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : ''; $userag

THinkPhp隱藏入口檔案

下面是Apache的配置過程,可以參考下: 1、httpd.conf配置檔案中載入了mod_rewrite.so模組 去掉前面的#號就是開啟服務 2、AllowOverride None 將None改為 All 3、在應用入口檔案同級目錄新增.htaccess檔案,內容如下

thinkphp讀取檔案,寫一個敏感詞彙判斷方法

1、在thinkphp內讀取檔案 在tp內讀取檔案的默人訪問的路徑是根目錄同級的路徑 這是controoler內的寫法: class ValidateController{ static function checkSensitiveWord(

ThinkPHP5 Nginx下的配置——支援pathinfo訪問和隱藏入口檔案index.php的rewrite規則

最近賦閒在家,看到TP都更新到5.0.6了,於是弄過來寫了個小專案熟悉了下,發現改動確實蠻大的。首先就是支援Composer了。(強烈建議使用Composer安裝,因為TP5的一些驗證碼之類的擴充套件包必須要用到Composer來安裝。)檔案命名規範的改變:控制器類檔名“Us

對於win7上共享的檔案在工作組的其他電腦上無許可權訪問的問題解決,以及工作組電腦無需密碼登入訪問設定

1、工作組(家庭組)電腦無需密碼設定 a、將本機的guest賬戶解除禁用:計算機--(右鍵)管理--本地使用者和組--使用者--Guest--(右鍵)屬性--(取消)賬戶已禁用; b、控制面板--管理工具--(雙擊)本地安全策略--本地策略--(雙擊)使用者許可權分配--從

[解決]ThinkPHP在Nginx下添加新模塊訪問不正常

com 測試 配置 htaccess 好的 服務器 靜態 $1 正常 在本地測試好好的,傳到服務器就是403拒絕。經過各種測試,問題是分2步解決的: 1、註冊新的模塊,在Application\Common\Conf\config.php下,添加以下配置: ‘DEFAUL