php函數(shù)實現(xiàn)判斷是否移動端訪問_PHP教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:php中instanceof 與 is_a()區(qū)別分析
      總的來說php中instanceof 與 is_a()功能是一樣的,不同的是由于PHP的版本不同,部分PHP版本舍棄了is_a() 下面我們來具體分析下吧。 instanceof 運算符 和 is_a() 方法都是判斷:某對象是否屬于該類 或 該類是此對象的父類(用于確定一個 PHP 變量是否屬于某一類 class

       本文給大家分享的是一則php判斷是否移動端訪問的函數(shù),是之前收藏的,這里發(fā)出來,推薦給小伙伴們。

         

      忘記在哪里獲取的函數(shù)了,剛才不了心在一個包里面找到,臨時保存起來

       

      代碼如下:
      /**
      * 是否移動端訪問訪問
      *
      * @return bool
      */
      function isMobile()
      {
      // 如果有HTTP_X_WAP_PROFILE則一定是移動設(shè)備
      if (isset ($_SERVER['HTTP_X_WAP_PROFILE']))
      {
      return true;
      }
      // 如果via信息含有wap則一定是移動設(shè)備,部分服務(wù)商會屏蔽該信息
      if (isset ($_SERVER['HTTP_VIA']))
      {
      // 找不到為flase,否則為true
      return stristr($_SERVER['HTTP_VIA'], "wap") ? true : false;
      }
      // 腦殘法,判斷手機發(fā)送的客戶端標志,兼容性有待提高
      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中查找手機瀏覽器的關(guān)鍵字
      if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT'])))
      {
      return true;
      }
      }
      // 協(xié)議法,因為有可能不準確,放到最后判斷
      if (isset ($_SERVER['HTTP_ACCEPT']))
      {
      // 如果只支持wml并且不支持html那一定是移動設(shè)備
      // 如果支持wml和html但是wml在html之前則是移動設(shè)備
      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;
      }

       

      非常簡單實用的函數(shù),分享給大家,希望大家能夠喜歡。

      分享:PHP中大于2038年時間戳的問題處理方案
      PHP有效的時間戳典型范圍是格林威治時間 1901 年 12 月 13 日 20:45:54 到 2038 年 1 月 19 日 03:14:07。(此范圍符合 32 位有符號整數(shù)的最小值和最大值)。不過在 PHP 5.1 之前此范圍在某些系統(tǒng)(如 Windows)中限制為從 1970 年 1 月 1 日到 2038 年 1 月 19 日。 6

      來源:模板無憂//所屬分類:PHP教程/更新時間:2015-03-04
      相關(guān)PHP教程