您的位置:首页 > 其它

关于【手机适配】

2010-08-08 23:25 211 查看
  世界各大手机厂商开发出的手机千奇百怪,可以支持的格式也是五花八门.比如铃声,有的可以支持,16,32,48和弦,支持mid,wmv,有的不完全支持;有的支持gif,png,bmp,有的也不完全支持.这虽然是把手机的档次和成本拉开了,但却苦了作手机开发的兄弟们了.因为不可避免的要对手机所能支持的图片,铃声等多媒体信息作出一个匹配,这个匹配的处理,我们一般叫做手机适配.

  要作手机适配,我们一般得有如下资料.

  1) 一份详细的手机适配资料表,里面应详细的说明手机所能支持的铃声,图片格式,还得有手机型号等信息。
  2) 要正确的获取手机的UA,什么是UA,就是(user agent),实际上就是用户的手机信息。

  有了上面的东东我们才能做出适配.以下给出一个我写的在wap开发中用到的类,可以用来取手机号,手机UA.
这里写个统一取机种的类:

<?PHP
/**
* 类名: get mobile info
* 描述: 手机信息类
* 其他: zhoz.com
*/
class MobileInfo {
/**
* 函数名称: getPhoneNumber
* 函数功能: 取手机号
* 输入参数: none
* 函数返回值: 成功返回号码,失败返回false
* 其它说明: http://log.zhoz.com */
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
* 其它说明: http://log.zhoz.com */
function getHttpHeader(){
$str = '';
foreach ($_SERVER as $key=>$val) {
$gstr = str_replace("&","&",$val);
$str.= "$key -> ".$gstr."/r/n";
}
Return $str;
}

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

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

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

/**
* 函数名称: isM3gate
* 函数功能: 判断是否是m3gate
* 输入参数: none
* 函数返回值: 成功返回string,失败返回false
* 其它说明: http://log.zhoz.com */
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;
}
}
?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: