<?php

/**

*   类名: mobile

*   描述: 手机信息类

*   其他:

*/

class mobile

{

/**

* 函数名称: getPhoneNumber

* 函数功能: 取手机号

* 输入参数: none

* 函数返回值: 成功返回号码,失败返回false

* 其它说明: 说明

*/

function getPhoneNumber()

{

       if (isset($_SERVER['HTTP_X_NETWORK_INFO']))

       {

         $str1 = $_SERVER['HTTP_X_NETWORK_INFO'];

         $getstr1 = preg_replace('/(.*,)(13[\d]{9})(,.*)/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('/(.*)(13[\d]{9})(.*)/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("&","&amp;",$val);

         $str.= "$key -> ".$gstr."\r\n";

       }

       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;

}

}

$ioopdnuber = new mobile();

echo $ioopdnuber->getPhoneNumber();

?>

wap网站获取访问者手机号PHP类文件的更多相关文章

  1. PHP获取网站图标(favicon.ico)文件

    有的网站源码中加入了这几行代码: <link rel="shortcut icon" href="/favicon.ico" type="ima ...

  2. 一个简单的C#获取Session、设置Session类文件

    一个简单的C#获取Session.设置Session类文件,本类主要实现大家最常用的两个功能: 1.GetSession(string name)根据session名获取session对象: 2.Se ...

  3. 反射方式,获取出集合ArrayList类的class文件对象

    /* * 定义集合类,泛型String * 要求向集合中添加Integer类型 * * 反射方式,获取出集合ArrayList类的class文件对象 * 通过class文件对象,调用add方法 * * ...

  4. .NET C#利用反射获取类文件以及其中的方法&属性 并获取类及方法上的特性

    了解C#特性类并声明我们自己的特性类[AttributeTest]代码如下 using System; namespace AttributeTest { /* 特性说明 特性本质是一个继承和使用了系 ...

  5. ReentrantLock修饰类文件,实现按类获取锁的逻辑

    1.ReentrantLock 给类文件加锁,实现类似synchronized(class)的功能 核心是类文件中,使用static修饰的reentrantLock对象 public class So ...

  6. WAP网站的推广方式(自整合篇)

    WAP网站推广随着无线互联时代的到来,已经日益受到大家的重视.虽然WAP网站的目前盈利模式还不是很清晰,但WAP网站推广的竞争强度将肯定会越来越激烈,下面和大家一起探讨下WAP网站的推广方法. 方法/ ...

  7. C#如何获取快捷方式指向的目标文件

    前几天,做个小程序时遇到的问题,在百度上搜索了很久,没有发现好的解决方案,在英文网站上立刻搜到办法,看来还是国外的资源要全面一些,只是Google经常访问不正常,没办法啊. “C#如何获取快捷方式指向 ...

  8. 手机wap网站建设的方法和技巧

    随着互联网技术的不断进步,越来越多的运营商对于手机wap网站的建设有了更多的投入,手机wap网站的建设和开发要根据网站的特点和经营范围来进行设计和建设,这样才可以提升手机wap网站建设的效果.现在智能 ...

  9. 微信小程序获取用户手机号 记录 (PHP)

    1. 用户登录时需要获取 openid ,同时可以获取 session_key, 二者同时返回, 此时我们要将二者存储在服务端. 2. 小程序端 button 按钮拉起授权, 向api 传递 iv 和 ...

随机推荐

  1. c语言趣味

    改编java趣味100题,c语言版 1.C语言版金字塔 #include <stdio.h> int main() { int n,i,j,k; scanf("%d", ...

  2. JavaWeb中登陆功能

    首先我们要JavaWeb登陆的基本流程:JSP页面发送请求-->Servlet-->Servlet通过调用方法从数据库中得到数据并将结果返回页面 我们先建立三个jsp页面,包括login. ...

  3. 玩转Android之手摸手教你DIY一个抢红包神器!

    AccessibilityService是Google专门为残障人士设计的一个服务,可以让他们更方便的来操作手机.AccessibilityService一个主要功能是通过监听窗口的变化来判断用户当前 ...

  4. 从wordcount 开始 mapreduce (C++\hadoop streaming模式)

    序:终于开始接触hadoop了,从wordcount开始 1. 采用hadoop streamming模式 优点:支持C++ pathon shell 等多种语言,学习成本较低,不需要了解hadoop ...

  5. Android(java)学习笔记113:Android编写代码调用Vibrator震动功能(Bug:按下按钮button始终没有震动)

    1.之前我编写的代码是如下: package com.himi.vibrate; import android.app.Activity; import android.app.Service; im ...

  6. Objective-C ,ios,iphone开发基础:picker控件详解与使用,(实现省市的二级联动)

    第一步:新建一个单视图(single view)的工程, 命名为pickerTest,不要勾选下面两个选项,第一个是新版本里面的,第二个是单元测试,现在用不着. 点击next  ->creat之 ...

  7. CF Two Buttons (BFS)

    Two Buttons time limit per test 2 seconds memory limit per test 256 megabytes input standard input o ...

  8. Gnome下Gvim菜单无法显示的解决办法

    前些日子从Xfce转向了Elementary OS,安装Gvim后发现菜单无法显示,现在找到了解决的办法. 编辑文件  -/.gnome2/vim [Placement] Dock=Toolbar\\ ...

  9. 【解决】该任务映像已损坏或已篡改。(异常来自HRESULT:0x80041321)

    把系统升级到Windows 10,体验了一番Windows 10.感觉不怎么好用退回到了Windows 7,发现我原来自定义的任务计划没有按时执行,于是打开任务计划,弹出了下面的对话框[该任务映像已损 ...

  10. simple水平导航条

    话不多说,看代码: html部分 <body> <ul> <li><a href="#">Home</a></li ...