php - 如何判斷存取來自pc端還是行動端?
过去多啦不再A梦
过去多啦不再A梦 2017-05-27 17:42:54
0
5
651

主要是判斷來自pc端,因為有些操作是必須在電腦上操作的,
來自行動端的,隱藏部分功能。

过去多啦不再A梦
过去多啦不再A梦

全部回覆 (5)
迷茫

助手類別如下:
原理就是驗證header頭

 0) return true; else return false; } }
    Peter_Zhu

    Mobile_Detect是轻量级php库通过User-agent和特定的人Http頭部來判斷:

    • Mobile_Detect

      曾经蜡笔没有小新

      雷雷

        伊谢尔伦

        貼一下THINKcmf裡面的程式碼

        /** * 判断是否为手机访问 * @return boolean */ function sp_is_mobile() { static $sp_is_mobile; if ( isset($sp_is_mobile) ) return $sp_is_mobile; if ( empty($_SERVER['HTTP_USER_AGENT']) ) { $sp_is_mobile = false; } elseif ( strpos($_SERVER['HTTP_USER_AGENT'], 'Mobile') !== false // many mobile devices (all iPhone, iPad, etc.) || strpos($_SERVER['HTTP_USER_AGENT'], 'Android') !== false || strpos($_SERVER['HTTP_USER_AGENT'], 'Silk/') !== false || strpos($_SERVER['HTTP_USER_AGENT'], 'Kindle') !== false || strpos($_SERVER['HTTP_USER_AGENT'], 'BlackBerry') !== false || strpos($_SERVER['HTTP_USER_AGENT'], 'Opera Mini') !== false || strpos($_SERVER['HTTP_USER_AGENT'], 'Opera Mobi') !== false ) { $sp_is_mobile = true; } else { $sp_is_mobile = false; } return $sp_is_mobile; } /** * 判断是否为微信访问 * @return boolean */ function sp_is_weixin(){ if (strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== false) { return true; } return false; }

        當然,如果你還需要判斷安卓或ios的話,有一個簡單的方法,行動端自訂HTTP_USER_AGENT的值,然後從服務端取得$_SERVER['HTTP_USER_AGENT'],例如,增加一個my_webapp,判斷這個字元是否存在

        $user_agent = $_SERVER['HTTP_USER_AGENT']; if (stripos($user_agent, 'my_webapp') !== false) { $this->assign("is_webapp", true); }
          phpcn_u1582

          這個問題我在segment fault回答過,當時題主表示有效:/q/101...

            最新下載
            更多>
            網站特效
            網站源碼
            網站素材
            前端模板
            關於我們 免責聲明 Sitemap
            PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!