您当前的位置: 首页 > 旅游

站长php作wap开发时遇到的问题a

2019-01-31 03:53:06

14:54 来源:PHPChina :Googler【纠错】人评论

A-A+ 怎么开淘宝店 站优化方法 创业如何获得投资 小米note顶配版评测 LOL活动

1.文件格式

首先要遇到的问题肯定是文件格式在作 web开发时大家都是用的html或xhtml到了wap开发时就得用wml了.什么是wml?大家可以去查更详细的资料我这里只是略微的提到. 在我看来wml类似于xml有非常严格的格式在作wap页面时都得用wml来作为显示.

wml的语法非常简单在用php作动态输出时一定要发送一个头信息标明本页面是wml而不是别的什么*ml.

header(Content-type: text/l; charset=gb2312);

?

这里用的字符集是gb2312在移动的平台上是没有任何问题的但在联通的平台上就不行了一定得用utf-8为了更通用还是用utf-8更安全.即

header(Content-type: text/l; charset=utf-8);

?

2.编码

上面说了字符集都应采用utf-8这是一种容纳了多国语言的字符集一个汉字是占双字节utf-8占了4个字节因此其容纳的信息量更大.在上编写的汉字在将页面内码转成utf-8后以后再打开就可能是一堆乱码.因此大家在作注释时尽可能的用英文注释省得以后看不懂.像editplus ultraedit等工具都可以转文件内码.

3.适配

世界各大厂商真是有病开发出的千奇百怪可以支持的格式也是五花八门.比如铃声有的可以支持163248和弦支持midwmv有的不完全支持;有的支持gifpngbmp有的也不完全支持.这虽然是把的档次和成本拉开了但却苦了作开发的兄弟们了.因为不可避免的要对所能支持的图片铃声等多媒体信息作出一个匹配这个匹配的处理我们一般叫做适配.

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

1)一份详细的适配资料表里面应详细的说明所能支持的铃声图片格式还得有型号等信息

2)要正确的获取的UA什么是UA就是(user agent)实际上就是用户的信息.

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

/**

* 类名: mobile

* 描述: 信息类

* 其他: 偶然 编写

*/

class mobile

{

/**

* 函数名称: getPhoneNumber

* 函数功能: 取号

* 输入参数: none

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

* 其它说明: 说明

*/

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

* 其它说明: 说明

*/

function getHttpHeader()

{

$str = ''

foreach ($_SERVER as $key=$val)

{

$gstr = str_replace($val);

$str.= $key - .$gstr. ;

}

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;

}

}

?

4.页面设计

作wap开发时wap页面是非常简单的.比html来说是简单到不能再简单了.在wap1.0里是没有表格之类的乱七八糟的东西的.所有的标签都是写在一个叫card的标签之内.可以用来分段.所以做页面的算是轻松了.

5.模拟器

作wap 开发免不了要用各式各样的模拟器来测试比较好的有m3gateopenwaveopera还有一个叫winwap的大家别用他来作测试他的兼容性太好了即使页面有错误都能给忽略掉.测试时跟用浏览器测试web页面一样输入址就可以了.没有比这更容易的事了.

6.注意事项

1)空格特别是在定义DTD时

echo ;

?

里面如果那个地方少个空格就有你受的了.以前写的时候用了页面重排之后把一些空格给干掉了整整找了两天才找出错误来大家千万别步我的后尘.

2)标签如果标签不成对会提示错误大家注意就是了很容易修正.

查看更多相似文章

手机打鱼上下分
气动打标机
回收光缆
门封厂家
槽式梯式玻璃钢桥架价格
电解电容厂家直销价格
推荐阅读
图文聚焦