PHP作wap开发时遇到的问题
发布:smiling 来源: PHP粉丝网 添加日期:2013-11-27 22:07:59 浏览: 评论:0
1.文件格式
首先要碰到的问题肯定是文件格式,在作web开发时,大家都是用的html或xhtml,到了wap开发时,就得用wml了.什么是wml?大家可以去查更具体的资料,我这里只是略微的提到.在我看来wml类似于xml,有非常严格的格式,在作wap页面时,都得用wml来作为显示.
wml的语法非常简单,在用php作动态输出时,一定要发送一个头信息,标明本页面是wml,而不是别的什么*ml.
- header("Content-type: text/vnd.wap.wml; charset="gb2312"");
这里用的字符集是gb2312,在移动的平台上是没有任何问题的,但在联通的平台上就不行了,一定得用utf-8,为了更通用,还是用utf-8更安全.即
- header("Content-type: text/vnd.wap.wml; charset="utf-8"");
2.编码
上面说了字符集都应采用utf-8,这是一种容纳了多国语言的字符集,一个汉字是占双字节,utf-8占了4个字节,因此其容纳的信息量更大.在手机上编写的汉字,在将页面内码转成utf-8后,以后再打开就可能是一堆乱码.因此大家在作注释时,尽可能的用英文注释,省得以后看不懂.像editplus,ultraedit等工具都可以转文件内码.
3.适配
世界各大手机厂商真是有病,开发出的手机千奇百怪,可以支持的格式也是五花八门.比如铃声,有的可以支持,16,32,48和弦,支持mid,wmv,有的不完全支持;有的支持gif,png,bmp,有的也不完全支持.这虽然是把手机的档次和成本拉开了,但却苦了作手机开发的兄弟们了.因为不可避免的要对手机所能支持的图片,铃声等多媒体信息作出一个匹配,这个匹配的处理,我们一般叫做手机适配.
要作手机适配,我们一般得有如下资料.
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
- * 函数功能: 取头信息
Tags: PHP wap开发
- 上一篇:利用PHP自定义错误处理器处理出错信息
- 下一篇:php编写大型网站问题集
相关文章
- ·PHP中通过Web 执行C/C++应用程序(2013-11-13)
- ·用PHP实现Ftp用户的在线管理(2013-11-13)
- ·用PHP自动把纯文本转换成Web页面(2013-11-13)
- ·用实例分析PHP5异常处理(2013-11-13)
- ·php5的simplexml解析错误(2013-11-13)
- ·PHP后门的隐藏技巧测试报告(2013-11-13)
- ·PHP缓存技术详谈(2013-11-27)
- ·利用PHP自定义错误处理器处理出错信息(2013-11-27)
- ·php编写大型网站问题集(2013-11-27)
- ·php测试性能代码(2013-11-28)
- ·php 安全register globals设置为TRUE的危害(2013-11-28)
- ·XSLTProcessor 中 registerPHPFunctions 后无法调用 php 函数(2013-11-30)
- ·PHP中常用三种缓存技术(2013-11-30)
- ·新浪微博PHP版SDK的导致20007错误(2013-12-03)
- ·linux中phpMyAdmin错误提示Wrong permissions on configuration file, should no(2013-12-04)
- ·PHPStorm解决Xdebug Slow问题(2013-12-06)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)