该PHP操作类实现获取手机号
手机头信息,取UA,取得手机类型,判断是否是opera,判断是否是m3gate,取得HA,取得手机IP 
代码如下:

<?php
/**
* @desc 手机操作类 获取手机相关信息
* @since
*/
class mobile {
/**
* 函数名称: getPhoneNumber
* 函数功能: 取手机号
* 输入参数: none
* 函数返回值: 成功返回号码,失败返回false
* 其它说明: 说明
*/
public function getPhoneNumber() {
if (isset($_SERVER['HTTP_X_NETWORK_INFO'])) {
$str1 = $_SERVER['HTTP_X_NETWORK_INFO'];
$getstr1 = preg_replace('/(.*,)(11[d])(,.*)/i',"",$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',"",$str3);
Return $getstr3;
}
elseif (isset($_SERVER['DEVICEID'])) {
Return $_SERVER['DEVICEID'];
}
else {
Return false;
}
}

/**
* 函数名称: getHttpHeader
* 函数功能: 取头信息
* 输入参数: none
* 函数返回值: 成功返回号码,失败返回false
* 其它说明: 说明
*/
public function getHttpHeader() {
$str = "";
foreach ($_SERVER as $key=>$val) {
$gstr = str_replace("&","&",$val);
$str.= "$key -> ".$gstr."rn";
}
Return $str;
}

/**
* 函数名称: getUA
* 函数功能: 取UA
* 输入参数: none
* 函数返回值: 成功返回号码,失败返回false
* 其它说明: 说明
*/
public function getUA() {
if (isset($_SERVER['HTTP_USER_AGENT'])) {
Return $_SERVER['HTTP_USER_AGENT'];
}
else {
Return false;
}
}

/**
* 函数名称: getPhoneType
* 函数功能: 取得手机类型
* 输入参数: none
* 函数返回值: 成功返回string,失败返回false
* 其它说明: 说明
*/
public function getPhoneType() {
$ua = $this->getUA();
if($ua!=false) {
$str = explode(" ",$ua);
Return $str[0];
}
else {
Return false;
}
}

/**
* 函数名称: isOpera
* 函数功能: 判断是否是opera
* 输入参数: none www.knowsky.com
* 函数返回值: 成功返回string,失败返回false
* 其它说明: 说明
*/
public function isOpera() {
$uainfo = $this->getUA();
if (preg_match('/.*Opera.*/i',$uainfo)) {
Return true;
}
else {
Return false;
}
}

/**
* 函数名称: isM3gate
* 函数功能: 判断是否是m3gate
* 输入参数: none
* 函数返回值: 成功返回string,失败返回false
* 其它说明: 说明
*/
public function isM3gate() {
$uainfo = $this->getUA();
if (preg_match('/M3Gate/i',$uainfo)) {
Return true;
}
else {
Return false;
}
}

/**
* 函数名称: getHttpAccept
* 函数功能: 取得HA
* 输入参数: none
* 函数返回值: 成功返回string,失败返回false
* 其它说明: 说明
*/
public function getHttpAccept() {
if (isset($_SERVER['HTTP_ACCEPT'])) {
Return $_SERVER['HTTP_ACCEPT'];
}
else {
Return false;
}
}

/**
* 函数名称: getIP
* 函数功能: 取得手机IP
* 输入参数: none
* 函数返回值: 成功返回string
* 其它说明: 说明
*/
public function getIP() {
$ip=getenv('REMOTE_ADDR');
$ip_ = getenv('HTTP_X_FORWARDED_FOR');
if (($ip_ != "") && ($ip_ != "unknown")) {
$ip=$ip_;
}
return $ip;
}
}

?>

最新文章

  1. Redis入门(一)系统安装
  2. Codeforces Gym 100513F F. Ilya Muromets 线段树
  3. 一段JavaScript代码
  4. pcap的pcap_dump()保存的文件格式
  5. Flash Builder常用快捷键
  6. 1.1-学习Opencv与MFC混合编程之---利用画图函数,生成视频,并写入视频文件
  7. java web 项目如何部署到互联网中 通过输入域名访问?
  8. [解读REST] 4.基于网络应用的架构风格
  9. 20170109| javascript记录
  10. 本地jar包添加至Maven仓库
  11. javascript 数组函数
  12. 项目总结03:window.open()方法用于子窗口数据回调至父窗口,即子窗口操作父窗口
  13. Catlike学习笔记(1.4)-使用Unity构建分形
  14. matplotlib01
  15. HDUOJ----4504 威威猫系列故事——篮球梦
  16. asp.net SessionState模式的配置及使用
  17. oracle使用DBMS_RANDOM包生成随机数据
  18. 用Java axis2调用.net平台的Webservice出现的一些问题
  19. java 发送html邮件,苹果或者某些邮件客户端收到的内容为空白解决方案
  20. Redis之持久化和主从同步

热门文章

  1. iOS-self.layer.shouldRasterize属性
  2. 布置theano(Ubuntu14.04 LTS)
  3. Java String.split()
  4. 删除NSMutableArray中的二维数组
  5. PostgreSQL Cascade Replication
  6. 科学计算器的Java实现
  7. DataBase: LeetCode
  8. Appium的理念
  9. windows系统调用 线程 启动与挂起
  10. 玩转HTML5移动页面(动效篇)(转载)