php判斷手機瀏覽還是web瀏覽,並執行相應的動作

来源:http://www.cnblogs.com/Bowen666/archive/2016/07/27/5712164.html
-Advertisement-
Play Games

正好需要,在網上找了好久,記錄一下 ...


正好需要,在網上找了好久,記錄一下

 1 function isMobile(){  
 2     $useragent=isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '';  
 3     $useragent_commentsblock=preg_match('|\(.*?\)|',$useragent,$matches)>0?$matches[0]:'';        
 4     function CheckSubstrs($substrs,$text){  
 5         foreach($substrs as $substr)  
 6             if(false!==strpos($text,$substr)){  
 7                 return true;  
 8             }  
 9             return false;  
10     }
11     $mobile_os_list=array('Google Wireless Transcoder','Windows CE','WindowsCE','Symbian','Android','armv6l','armv5','Mobile','CentOS','mowser','AvantGo','Opera Mobi','J2ME/MIDP','Smartphone','Go.Web','Palm','iPAQ');
12     $mobile_token_list=array('Profile/MIDP','Configuration/CLDC-','160×160','176×220','240×240','240×320','320×240','UP.Browser','UP.Link','SymbianOS','PalmOS','PocketPC','SonyEricsson','Nokia','BlackBerry','Vodafone','BenQ','Novarra-Vision','Iris','NetFront','HTC_','Xda_','SAMSUNG-SGH','Wapaka','DoCoMo','iPhone','iPod');  
13           
14     $found_mobile=CheckSubstrs($mobile_os_list,$useragent_commentsblock) ||  
15               CheckSubstrs($mobile_token_list,$useragent);  
16           
17     if ($found_mobile){  
18         return true;  
19     }else{  
20         return false;  
21     }  
22 }
23 if (isMobile()){
24     header('location: ./app/index.php');//如果為手機端,執行跳轉
25 }
26 else{
27     header('location: ./web/index.php');//如果非手機端,執行跳轉
28 }

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 在 Delphi Berlin 10.1 IDE 里雖然提供了 Style 編輯功能(TStyleBook),但遍尋不到更換 Style 底圖功能,於是花了一點時間,寫了一個小工具: 編譯版本:Delphi Berlin 10.1 下載工具:[工具]OneStyleEdit_Style換圖工具_by ...
  • 本書介紹 你是不是對Django的學習感到迷茫?是不是對網上零星的教程感到絕望?是不是苦於沒有可以迅速上手的實例而發愁?如果你同我一樣有這些感受,那麼《Django.By.Example》這本書將是你指路的明燈。 本書基於Django1.8 + Python3.4的環境,裡面包含了個人博客、社交網站 ...
  • HttpSession HttpServletRequest.getSession() HibernateSessionFactory.getSession() HttpSession的生命周期是以上三者中最長的,存在於整次對話(瀏覽器關閉後被銷毀),用於存儲單個用戶在本次會話中所用到的數據。 Ht ...
  • 1.錯誤: 在eclipse中使用run->run on server的時候,選擇tomcat6會報錯誤:The server does not support version 3.0 of the J2EE Web module specification 如下所示: 2.原因: Tomcat 6 ...
  • R語言中的機器學習程式包主要如下所示: ...
  • learn python3   這是我初學Python時寫的一套Python基礎示常式序.主要基於廖雪峰老師的Python3教程和<<深入理解Python>>. 感謝! 下麵是這些示常式序的目錄總結:  Chapter1:容器/集合/C ...
  • @(MyBatis)[Cache] MyBatis源碼分析——Cache構建以及應用 SqlSession使用緩存流程 如果開啟了二級緩存,而Executor會使用CachingExecutor來裝飾,添加緩存功能,該CachingExecutor會從MappedStatement中獲取對應的Cac ...
  • 當我們享受著jdk帶來的便利時同樣承受它帶來的不幸惡果。通過分析Hashtable就知道,synchronized是針對整張Hash表的,即每次鎖住整張表讓線程獨占,安全的背後是巨大的浪費,而現在的解決方案 ConcurrentHashMap。 ConcurrentHashMap和Hashtable ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...