我们在用PHP写移动端程序的时候,有的时候需要直接获取手机号码以及对应的IP地址内容,在此我们给大家整理了详细完整的PHP实例源码内容,需要的朋友们测试下。

  1. <?php
  2. /**
  3.  * Created by PhpStorm.
  4.  * User: liubao
  5.  * Date: 2018/8/30
  6.  * Time: 16:21
  7.  */
  8.   
  9. /**
  10.  * 类名: mobile
  11.  * 描述: 手机信息类
  12.  * 其他: 偶然 编写
  13.  */
  14. class mobile
  15. {
  16.   /**
  17.    * 函数名称: getPhoneNumber
  18.    * 函数功能: 取手机号
  19.    * 输入参数: none
  20.    * 函数返回值: 成功返回号码,失败返回false
  21.    * 其它说明: 说明
  22.    */
  23.   function getPhoneNumber()
  24.   {
  25.     if (isset($_SERVER['HTTP_X_NETWORK_INFO '])) {
  26.       $str1 = $_SERVER['HTTP_X_NETWORK_INFO '];
  27.       $getstr1 = preg_replace('/(.*,)(11[d])(,.*)/i ', '2 ', $str1);
  28.       Return $getstr1;
  29.     } elseif (isset($_SERVER['HTTP_X_UP_CALLING_LINE_ID '])) {
  30.       $getstr2 = $_SERVER['HTTP_X_UP_CALLING_LINE_ID '];
  31.       Return $getstr2;
  32.     } elseif (isset($_SERVER['HTTP_X_UP_SUBNO '])) {
  33.       $str3 = $_SERVER['HTTP_X_UP_SUBNO '];
  34.       $getstr3 = preg_replace('/(.*)(11[d])(.*)/i ', '2 ', $str3);
  35.       Return $getstr3;
  36.     } elseif (isset($_SERVER['DEVICEID '])) {
  37.       Return $_SERVER['DEVICEID '];
  38.     } else {
  39.       Return false;
  40.     }
  41.   }
  42.   
  43.   /**
  44.    * 函数名称: getHttpHeader
  45.    * 函数功能: 取头信息
  46.    * 输入参数: none
  47.    * 函数返回值: 成功返回号码,失败返回false
  48.    * 其它说明: 说明
  49.    */
  50.   function getHttpHeader()
  51.   {
  52.     $str = ' ';
  53.     foreach ($_SERVER as $key => $val) {
  54.       $gstr = str_replace("& ", "& ", $val);
  55.       $str .= "$key -> " . $gstr . "rn ";
  56.     }
  57.     Return $str;
  58.   }
  59.   
  60.   /**
  61.    * 函数名称: getUA
  62.    * 函数功能: 取UA
  63.    * 输入参数: none
  64.    * 函数返回值: 成功返回号码,失败返回false
  65.    * 其它说明: 说明
  66.    */
  67.   function getUA()
  68.   {
  69.     if (isset($_SERVER['HTTP_USER_AGENT '])) {
  70.       Return $_SERVER['HTTP_USER_AGENT '];
  71.     } else {
  72.       Return false;
  73.     }
  74.   }
  75.   
  76.   /**
  77.    * 函数名称: getPhoneType
  78.    * 函数功能: 取得手机类型
  79.    * 输入参数: none
  80.    * 函数返回值: 成功返回string,失败返回false
  81.    * 其它说明: 说明
  82.    */
  83.   function getPhoneType()
  84.   {
  85.     $ua = $this->getUA();
  86.     if ($ua != false) {
  87.       $str = explode(' ', $ua);
  88.       Return $str[0];
  89.     } else {
  90.       Return false;
  91.     }
  92.   }
  93.   
  94.   /**
  95.    * 函数名称: isOpera
  96.    * 函数功能: 判断是否是opera
  97.    * 输入参数: none
  98.    * 函数返回值: 成功返回string,失败返回false
  99.    * 其它说明: 说明
  100.    */
  101.   function isOpera()
  102.   {
  103.     $uainfo = $this->getUA();
  104.     if (preg_match('/.*Opera.*/i ', $uainfo)) {
  105.       Return true;
  106.     } else {
  107.       Return false;
  108.     }
  109.   }
  110.   
  111.   /**
  112.    * 函数名称: isM3gate
  113.    * 函数功能: 判断是否是m3gate
  114.    * 输入参数: none
  115.    * 函数返回值: 成功返回string,失败返回false
  116.    * 其它说明: 说明
  117.    */
  118.   function isM3gate()
  119.   {
  120.     $uainfo = $this->getUA();
  121.     if (preg_match('/M3Gate/i ', $uainfo)) {
  122.       Return true;
  123.     } else {
  124.       Return false;
  125.     }
  126.   }
  127.   
  128.   /**
  129.    * 函数名称: getHttpAccept
  130.    * 函数功能: 取得HA
  131.    * 输入参数: none
  132.    * 函数返回值: 成功返回string,失败返回false
  133.    * 其它说明: 说明
  134.    */
  135.   function getHttpAccept()
  136.   {
  137.     if (isset($_SERVER['HTTP_ACCEPT '])) {
  138.       Return $_SERVER['HTTP_ACCEPT '];
  139.     } else {
  140.       Return false;
  141.     }
  142.   }
  143.   
  144.   /**
  145.    * 函数名称: getIP
  146.    * 函数功能: 取得手机IP
  147.    * 输入参数: none
  148.    * 函数返回值: 成功返回string
  149.    * 其它说明: 说明
  150.    */
  151.   function getIP()
  152.   {
  153.     $ip = getenv('REMOTE_ADDR ');
  154.     $ip_ = getenv('HTTP_X_FORWARDED_FOR ');
  155.     if (($ip_ != " ") && ($ip_ != "unknown ")) {
  156.       $ip = $ip_;
  157.     }
  158.     return $ip;
  159.   }
  160. }
  161.   
  162. ?>

10-05 18:28