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


Posted in PHP onSeptember 12, 2018

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

<?php
/**
 * Created by PhpStorm.
 * User: liubao
 * Date: 2018/8/30
 * Time: 16:21
 */
 
/**
 *  类名:  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
   *  其它说明:  说明
   */
  function getIP()
  {
    $ip = getenv('REMOTE_ADDR ');
    $ip_ = getenv('HTTP_X_FORWARDED_FOR ');
    if (($ip_ != " ") && ($ip_ != "unknown ")) {
      $ip = $ip_;
    }
    return $ip;
  }
}
 
?>

以上就是本篇关于PHP程序获取手机号码和实时IP的全部内容,感谢大家对三水点靠木的支持。

PHP 相关文章推荐
一个PHP数组应该有多大的分析
Jul 30 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十三)
Jun 26 PHP
php限制ip地址范围的方法
Mar 31 PHP
PHP单例模式详细介绍
Jul 01 PHP
Zend Framework教程之Zend_Form组件实现表单提交并显示错误提示的方法
Mar 21 PHP
php通过执行CutyCapt命令实现网页截图的方法
Sep 30 PHP
php封装的smartyBC类完整实例
Oct 19 PHP
PHP生成各种随机验证码的方法总结【附demo源码】
Jun 05 PHP
PHP截取发动短信内容的方法
Jul 04 PHP
Yii2框架类自动加载机制实例分析
May 02 PHP
thinkPHP5框架导出Excel文件简单操作示例
Aug 03 PHP
PHP控制循环操作的时间
Apr 01 PHP
详解php用static方法的原因
Sep 12 #PHP
php实现数字补零的方法总结
Sep 12 #PHP
php使用QueryList轻松采集js动态渲染页面方法
Sep 11 #PHP
Yii2结合Workerman的websocket示例详解
Sep 10 #PHP
PHP按符号截取字符串的指定部分的实现方法
Sep 10 #PHP
php 中htmlentities导致中文无法查询问题
Sep 10 #PHP
使用PHPExcel导出Excel表
Sep 08 #PHP
You might like
PHP 显示客户端IP与服务器IP的代码
2010/10/12 PHP
Yii2框架实现登陆添加验证码功能示例
2018/07/12 PHP
jQuery.get、jQuery.getJSON、jQuery.post无法返回JSON问题的解决方法
2011/07/28 Javascript
jQuery动态添加 input type=file的实现代码
2012/06/14 Javascript
Js判断CSS文件加载完毕的具体实现
2014/01/17 Javascript
jQuery ajax调用WCF服务实例
2014/07/16 Javascript
js锁屏解屏通过对$.ajax进行封装实现
2014/07/31 Javascript
JavaScript中的函数模式详解
2015/02/11 Javascript
jQuery寻找n以内完全数的方法
2015/06/24 Javascript
jQuery+AJAX实现遮罩层登录验证界面(附源码)
2020/09/13 Javascript
JavaScript鼠标事件,点击鼠标右键,弹出div的简单实例
2016/08/03 Javascript
Angular.js自动化测试之protractor详解
2017/07/07 Javascript
微信小程序视图template模板引用的实例详解
2017/09/20 Javascript
angular2 ng2-file-upload上传示例代码
2018/08/23 Javascript
js根据后缀判断文件文件类型的代码
2020/05/09 Javascript
一文读懂vue动态属性数据绑定(v-bind指令)
2020/07/20 Javascript
vue实现移动端触屏拖拽功能
2020/08/21 Javascript
[46:47]2014 DOTA2国际邀请赛中国区预选赛5.21 LGD-CDEC VS NE
2014/05/22 DOTA
python3 模拟登录v2ex实例讲解
2017/07/13 Python
tensorflow 使用flags定义命令行参数的方法
2018/04/23 Python
Python更换pip源方法过程解析
2020/05/19 Python
python如何输出反斜杠
2020/06/18 Python
如何实现一个python函数装饰器(Decorator)
2020/10/12 Python
如何使用Python自动生成报表并以邮件发送
2020/10/15 Python
windows下python 3.9 Numpy scipy和matlabplot的安装教程详解
2020/11/28 Python
Html5之自定义属性(data-,dataset)
2019/11/19 HTML / CSS
继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么?
2015/11/18 面试题
专升本自我鉴定
2013/10/10 职场文书
网上开商店的创业计划书
2014/01/19 职场文书
法学函授自我鉴定
2014/02/06 职场文书
社团活动总结模板
2014/06/30 职场文书
授权委托书格式
2014/07/31 职场文书
社保委托书怎么写
2014/08/02 职场文书
学校2016年九九重阳节活动总结
2016/04/01 职场文书
互联网的下一个风口:新的独角兽将诞生
2019/08/02 职场文书
如何使用注解方式实现 Redis 分布式锁
2022/07/23 Redis