PHP

【PHP】PHP获取手机相关信息

小破孩
2022-06-19 / 0 评论 / 104 阅读 / 正在检测是否收录...
    <?php
    /*
    *该PHP操作类实现获取手机号 手机头信息,取UA,取得手机类型,判断是否是opera,判断是否是m3gate,取得HA,取得手机IP 
    */
    
    
    /**
    * @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;
    }
    }
    
    ?>
亲测手机号获取不到 ;可以考虑别的方法了,这里仅供参考
0

评论 (0)

取消