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 数组基础知识小结
Aug 20 PHP
PHP OPCode缓存 APC详细介绍
Oct 12 PHP
PHP函数spl_autoload_register()用法和__autoload()介绍
Feb 04 PHP
PHP合并两个数组的两种方式的异同
Sep 14 PHP
用PHP实现浏览器点击下载TXT文档的方法详解
Jun 02 PHP
微信公众平台开发实现2048游戏的方法
Apr 15 PHP
PHP中header函数的用法及其注意事项详解
Jun 13 PHP
总结对比php中的多种序列化
Aug 28 PHP
老生常谈PHP位运算的用途
Mar 12 PHP
ThinkPHP实现静态缓存和动态缓存示例代码
May 02 PHP
PHP 7安装调试工具Xdebug扩展的方法教程
Jun 17 PHP
详解如何在云服务器上部署Laravel
Jun 30 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游戏编程25个脚本代码
2011/02/08 PHP
做了CDN获取用户真实IP的函数代码(PHP与Asp设置方式)
2013/04/13 PHP
PHP中new static()与new self()的区别异同分析
2014/08/22 PHP
2012年开发人员的16款新鲜的jquery插件体验分享
2012/12/28 Javascript
JS判断数组中是否有重复值得三种实用方法
2013/08/16 Javascript
简单的JavaScript互斥锁分享
2014/02/02 Javascript
jquery判断元素的子元素是否存在的示例代码
2014/02/04 Javascript
深入理解JavaScript系列(31):设计模式之代理模式详解
2015/03/03 Javascript
详解vue axios中文文档
2017/09/12 Javascript
详解vue-cli与webpack结合如何处理静态资源
2017/09/19 Javascript
编写React组件项目实践分析
2018/03/04 Javascript
Nodejs核心模块之net和http的使用详解
2019/04/02 NodeJs
vue-cli3 配置开发与测试环境详解
2019/05/17 Javascript
[01:07:46]完美世界DOTA2联赛循环赛 Magma vs IO BO2第二场 11.01
2020/11/02 DOTA
Python脚本文件打包成可执行文件的方法
2015/06/02 Python
python 创建一个空dataframe 然后添加行数据的实例
2018/06/07 Python
教你如何编写、保存与运行Python程序的方法
2019/07/12 Python
在pycharm中配置Anaconda以及pip源配置详解
2019/09/09 Python
python pandas dataframe 去重函数的具体使用
2020/07/20 Python
Python+unittest+requests+excel实现接口自动化测试框架
2020/12/23 Python
css3实现一款模仿iphone样式的注册表单
2013/03/20 HTML / CSS
戴尔英国官网:Dell英国
2017/05/27 全球购物
The Hut美国/加拿大:英国领先的豪华在线百货商店
2019/03/26 全球购物
行政经理岗位职责
2013/11/09 职场文书
网络维护管理员的自我评价分享
2013/11/11 职场文书
交通安全责任书范本
2014/07/24 职场文书
第二批党的群众路线教育实践活动总结报告
2014/10/30 职场文书
新婚姻法离婚协议书范文
2014/11/30 职场文书
给老婆道歉的话
2015/01/20 职场文书
公司宣传语大全
2015/07/13 职场文书
在Windows下安装配置CPU版的PyTorch的方法
2021/04/02 Python
详解Python魔法方法之描述符类
2021/05/26 Python
教你做个可爱的css滑动导航条
2021/06/15 HTML / CSS
python获取对象信息的实例详解
2021/07/07 Python
pandas中对文本类型数据的处理小结
2021/11/01 Python
动画《新网球王子 U-17 WORLD CUP》希腊队PV公开
2022/04/02 日漫