我們在用PHP寫移動端程序的時候,有的時候需要直接獲取手機號碼以及對應(yīng)的IP地址內(nèi)容,在此我們給大家整理了詳細完整的代碼內(nèi)容,需要的朋友們測試下。
?php
/**
* Created by PhpStorm.
* User: liubao
* Date: 2018/8/30
* Time: 16:21
*/
/**
* 類名: mobile
* 描述: 手機信息類
* 其他: 偶然 編寫
*/
class mobile
{
/**
* 函數(shù)名稱: getPhoneNumber
* 函數(shù)功能: 取手機號
* 輸入?yún)?shù): none
* 函數(shù)返回值: 成功返回號碼,失敗返回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;
}
}
/**
* 函數(shù)名稱: getHttpHeader
* 函數(shù)功能: 取頭信息
* 輸入?yún)?shù): none
* 函數(shù)返回值: 成功返回號碼,失敗返回false
* 其它說明: 說明
*/
function getHttpHeader()
{
$str = ' ';
foreach ($_SERVER as $key => $val) {
$gstr = str_replace(" ", " ", $val);
$str .= "$key -> " . $gstr . "rn ";
}
Return $str;
}
/**
* 函數(shù)名稱: getUA
* 函數(shù)功能: 取UA
* 輸入?yún)?shù): none
* 函數(shù)返回值: 成功返回號碼,失敗返回false
* 其它說明: 說明
*/
function getUA()
{
if (isset($_SERVER['HTTP_USER_AGENT '])) {
Return $_SERVER['HTTP_USER_AGENT '];
} else {
Return false;
}
}
/**
* 函數(shù)名稱: getPhoneType
* 函數(shù)功能: 取得手機類型
* 輸入?yún)?shù): none
* 函數(shù)返回值: 成功返回string,失敗返回false
* 其它說明: 說明
*/
function getPhoneType()
{
$ua = $this->getUA();
if ($ua != false) {
$str = explode(' ', $ua);
Return $str[0];
} else {
Return false;
}
}
/**
* 函數(shù)名稱: isOpera
* 函數(shù)功能: 判斷是否是opera
* 輸入?yún)?shù): none
* 函數(shù)返回值: 成功返回string,失敗返回false
* 其它說明: 說明
*/
function isOpera()
{
$uainfo = $this->getUA();
if (preg_match('/.*Opera.*/i ', $uainfo)) {
Return true;
} else {
Return false;
}
}
/**
* 函數(shù)名稱: isM3gate
* 函數(shù)功能: 判斷是否是m3gate
* 輸入?yún)?shù): none
* 函數(shù)返回值: 成功返回string,失敗返回false
* 其它說明: 說明
*/
function isM3gate()
{
$uainfo = $this->getUA();
if (preg_match('/M3Gate/i ', $uainfo)) {
Return true;
} else {
Return false;
}
}
/**
* 函數(shù)名稱: getHttpAccept
* 函數(shù)功能: 取得HA
* 輸入?yún)?shù): none
* 函數(shù)返回值: 成功返回string,失敗返回false
* 其它說明: 說明
*/
function getHttpAccept()
{
if (isset($_SERVER['HTTP_ACCEPT '])) {
Return $_SERVER['HTTP_ACCEPT '];
} else {
Return false;
}
}
/**
* 函數(shù)名稱: getIP
* 函數(shù)功能: 取得手機IP
* 輸入?yún)?shù): none
* 函數(shù)返回值: 成功返回string
* 其它說明: 說明
*/
function getIP()
{
$ip = getenv('REMOTE_ADDR ');
$ip_ = getenv('HTTP_X_FORWARDED_FOR ');
if (($ip_ != " ") ($ip_ != "unknown ")) {
$ip = $ip_;
}
return $ip;
}
}
?>