php获取手机端的号码以及ip地址实例代码

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

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