1. 程式人生 > >php獲取手機端的號碼以及ip地址例項

php獲取手機端的號碼以及ip地址例項

我們在用PHP寫移動端程式的時候,有的時候需要直接獲取手機號碼以及對應的IP地址內容,在此我們給大家整理了詳細完整的PHP原始碼,需要的朋友們測試下。

    <?php
     /**
     * 類名: mobile
     * 描述: 手機資訊類
     * 其他: 偶然 編寫
     */
    class mobile
    {
      /**
       * 函式名稱: getPhoneNumber
       * 函式功能: 取手機號
       * 輸入引數: none
       * 函式返回值: 成功返回號碼,失敗返回false
       * 其它說明: 說明
       */
      function getPhoneNumber()
      {
        if (isset($_SERVER['HTTP_X_NETWORK_INFO '])) {
          $str1 = $_SERVER['HTTP_X_NETWORK_INFO '];
          $getstr1 = preg_replace('/(.*,)(11[d])(,.*)/i ', '2 ', $str1);
          Return $getstr1;
        } elseif (isset($_SERVER['HTTP_X_UP_CALLING_LINE_ID '])) {
          $getstr2 = $_SERVER['HTTP_X_UP_CALLING_LINE_ID '];
          Return $getstr2;
        } elseif (isset($_SERVER['HTTP_X_UP_SUBNO '])) {
          $str3 = $_SERVER['HTTP_X_UP_SUBNO '];
          $getstr3 = preg_replace('/(.*)(11[d])(.*)/i ', '2 ', $str3);
          Return $getstr3;
        } elseif (isset($_SERVER['DEVICEID '])) {
          Return $_SERVER['DEVICEID '];
        } else {
          Return false;
        }
      }
      
      /**
       * 函式名稱: getHttpHeader
       * 函式功能: 取頭資訊
       * 輸入引數: none
       * 函式返回值: 成功返回號碼,失敗返回false
       * 其它說明: 說明
       */
      function getHttpHeader()
      {
        $str = ' ';
        foreach ($_SERVER as $key => $val) {
          $gstr = str_replace("& ", "& ", $val);
          $str .= "$key -> " . $gstr . "rn ";
        }
        Return $str;
      }
      
      /**
       * 函式名稱: getUA
       * 函式功能: 取UA
       * 輸入引數: none
       * 函式返回值: 成功返回號碼,失敗返回false
       * 其它說明: 說明
       */
      function getUA()
      {
        if (isset($_SERVER['HTTP_USER_AGENT '])) {
          Return $_SERVER['HTTP_USER_AGENT '];
        } else {
          Return false;
        }
      }
      
      /**
       * 函式名稱: getPhoneType
       * 函式功能: 取得手機型別
       * 輸入引數: none
       * 函式返回值: 成功返回string,失敗返回false
       * 其它說明: 說明
       */
      function getPhoneType()
      {
        $ua = $this->getUA();
        if ($ua != false) {
          $str = explode(' ', $ua);
          Return $str[0];
        } else {
          Return false;
        }
      }
      
      /**
       * 函式名稱: isOpera
       * 函式功能: 判斷是否是opera
       * 輸入引數: none
       * 函式返回值: 成功返回string,失敗返回false
       * 其它說明: 說明
       */
      function isOpera()
      {
        $uainfo = $this->getUA();
        if (preg_match('/.*Opera.*/i ', $uainfo)) {
          Return true;
        } else {
          Return false;
        }
      }
      
      /**
       * 函式名稱: isM3gate
       * 函式功能: 判斷是否是m3gate
       * 輸入引數: none
       * 函式返回值: 成功返回string,失敗返回false
       * 其它說明: 說明
       */
      function isM3gate()
      {
        $uainfo = $this->getUA();
        if (preg_match('/M3Gate/i ', $uainfo)) {
          Return true;
        } else {
          Return false;
        }
      }
      
      /**
       * 函式名稱: getHttpAccept
       * 函式功能: 取得HA
       * 輸入引數: none
       * 函式返回值: 成功返回string,失敗返回false
       * 其它說明: 說明
       */
      function getHttpAccept()
      {
        if (isset($_SERVER['HTTP_ACCEPT '])) {
          Return $_SERVER['HTTP_ACCEPT '];
        } else {
          Return false;
        }
      }
      
      /**
       * 函式名稱: getIP
       * 函式功能: 取得手機IP
       * 輸入引數: none
       * 函式返回值: 成功返回string
       * 更多PHP例項: http://www.sucaihuo.com/php
       */
      function getIP()
      {
        $ip = getenv('REMOTE_ADDR ');
        $ip_ = getenv('HTTP_X_FORWARDED_FOR ');
        if (($ip_ != " ") && ($ip_ != "unknown ")) {
          $ip = $ip_;
        }
        return $ip;
      }
    }
      
    ?>