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桌面中心(四) 数据显示
Mar 11 PHP
10个可以简化php开发过程的MySQL工具
Apr 11 PHP
php生成图形验证码几种方法小结
Aug 15 PHP
PHP中如何实现常用邮箱的基本判断
Jan 07 PHP
php运行提示:Fatal error Allowed memory size内存不足的解决方法
Dec 17 PHP
PHP实现一维数组转二维数组的方法
Feb 25 PHP
PHP数组和explode函数示例总结
May 08 PHP
php根据日期或时间戳获取星座信息和生肖等信息
Oct 20 PHP
php版交通银行网银支付接口开发入门教程
Sep 26 PHP
PHP那些琐碎的知识点(整理)
May 20 PHP
php输出形式实例整理
May 05 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学习教程之第2天
2008/06/15 PHP
你可能不知道PHP get_meta_tags()函数
2014/05/12 PHP
使用PHPCMS搭建wap手机网站
2015/09/20 PHP
php 问卷调查结果统计
2015/10/08 PHP
Laravel5.* 打印出执行的sql语句的方法
2017/07/24 PHP
PHP数据库操作三:redis用法分析
2017/08/16 PHP
学习ExtJS border布局
2009/10/08 Javascript
轻松学习jQuery插件EasyUI EasyUI实现拖动基本操作
2015/11/30 Javascript
JavaScript中apply方法的应用技巧小结
2016/09/29 Javascript
ES6深入理解之“let”能替代”var“吗?
2017/06/28 Javascript
详解如何构建Angular项目目录结构
2017/07/13 Javascript
JS按钮闪烁功能的实现代码
2017/07/21 Javascript
jquery animate动画持续运动的实例
2017/11/29 jQuery
浅谈vue的props,data,computed变化对组件更新的影响
2018/01/16 Javascript
Vue 动态组件与 v-once 指令的实现
2019/02/12 Javascript
详解使用Nuxt.js快速搭建服务端渲染(SSR)应用
2019/03/13 Javascript
Python中常见的数据类型小结
2015/08/29 Python
Python中的sort()方法使用基础教程
2017/01/08 Python
python 网络编程详解及简单实例
2017/04/25 Python
详解django中使用定时任务的方法
2018/09/27 Python
python2与python3中关于对NaN类型数据的判断和转换方法
2018/10/30 Python
Django logging配置及使用详解
2019/07/23 Python
如何将你的应用迁移到Python3的三个步骤
2019/12/22 Python
django model通过字典更新数据实例
2020/04/01 Python
python实现控制台输出彩色字体
2020/04/05 Python
Python实现画图软件功能方法详解
2020/07/28 Python
CSS3实现任意图片lowpoly动画效果实例
2017/05/11 HTML / CSS
大学生村官心得体会范文
2014/01/04 职场文书
高三英语教学反思
2014/01/13 职场文书
颁奖晚会主持词
2014/03/25 职场文书
大学生毕业个人总结
2015/02/15 职场文书
2015年售票员工作总结
2015/04/29 职场文书
python3+PyQt5+Qt Designer实现界面可视化
2021/06/10 Python
详解Spring Security中的HttpBasic登录验证模式
2022/03/17 Java/Android
python单向链表实例详解
2022/05/25 Python
python数字图像处理之图像的批量处理
2022/06/28 Python