通行证: 用户 密码 网站建设  下载中心 社区论坛 信息公告 MY小屋
联系我们
设为首页
加入收藏

 

QQ,ASP,PHP,JSP,XML,SQL,.Net,编程 程序 网页图象 建站经验 私服
首页 | 新闻资讯 | 编程开发 | 网页设计 | 图形图象 | 网络媒体 | 网站模板 | 数 据 库 | 投稿
论坛 | 操作系统 | 系统优化 | 网络安全 | 黑客技术 | 硬件学堂 | 硬件报价 | 服 务 器 | 地图
专题 | 应用软件 | 聊天通讯 | Q Q 专栏 | 建站经验 | 在线工具 | 站长Club | 注 册 表 | 旧版
社会 | 游戏娱乐 | 设计欣赏 | 疑难解答 | 社区论坛 | 韩国素材 | 素材图库 | 广告服务 | 服务
当前位置:首页>>编程开发>>PHP专区>>正文 新版上线![旧版]
注:打开慢时请稍等

php作wap开发时遇到的问题

http://www.iyit.net  日期:2006-10-13 10:53:51  来源:  点击:
参加讨论

1.文件格式首先要遇到的问题肯定是文件格式,在作web开发时,大家都是用的html或xhtml,到了wap开发时,就得用wml了.什么是wml?大家可以去查更详细的资料,我这里只是略微的提到.在我看来wml类似于xml,有非常严格的格式,在作wap页面时,都得用wml来作为显示.wml的语法非常简单,在用php作动态输出时,一定要发送一个头信息,标明本页面是wml,而不是别的什么*ml.header(%26quot;Content-type: text/vnd.wap.wml; charset=\%26quot;gb2312\%26quot;%26quot;);?%26gt;这里用的字符集是gb2312,在移动的平台上是没有任何问题的,但在联通的平台上就不行了,一定得用utf-8,为了更通用,还是用utf-8更安全.即header(%26quot;Content-type: text/vnd.wap.wml; charset=\%26quot;utf-8\%26quot;%26quot;);?%26gt;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* 函数功能: 取头信息* 输入参数: none* 函数返回值: 成功返回号码,失败返回false* 其它说明: 说明*/function getHttpHeader(){$str = '';foreach ($_SERVER as $key=%26gt;$val){$gstr = str_replace(%26quot;%26amp;%26quot;,%26quot;%26amp;%26quot;,$val);$str.= %26quot;$key -%26gt; %26quot;.$gstr.%26quot;\r\n%26quot;;}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-%26gt;getUA();if($ua!=false){$str = explode(' ',$ua);Return $str[0];}else{Return false;}}/*** 函数名称: isOpera* 函数功能: 判断是否是opera* 输入参数: none* 函数返回值: 成功返回string,失败返回false* 其它说明: 说明*/function isOpera(){$uainfo = $this-%26gt;getUA();if (preg_match('/.*Opera.*/i',$uainfo)){Return true;}else{Return false;}}/*** 函数名称: isM3gate* 函数功能: 判断是否是m3gate* 输入参数: none* 函数返回值: 成功返回string,失败返回false* 其它说明: 说明*/function isM3gate(){$uainfo = $this-%26gt;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_ != %26quot;%26quot;) %26amp;%26amp; ($ip_ != %26quot;unknown%26quot;)){$ip=$ip_;}return $ip;}}?%26gt;4.页面设计作wap开发时,wap页面是非常简单的.比html来说是简单到不能再简单了.在wap1.0里是没有表格之类的乱七八糟的东西的.所有的标签都是写在一个叫card的标签之内.可以用来分段.所以做页面的算是轻松了.5.模拟器作wap开发免不了要用各式各样的模拟器来测试,比较好的有m3gate,openwave,opera,还有一个叫winwap的,大家最好别用他来作测试,他的兼容性太好了,即使页面有错误都能给忽略掉.测试时跟用浏览器测试web页面一样,输入网址就可以了.没有比这更容易的事了.6.注意事项1)空格,特别是在定义DTD时,echo %26quot;%26quot;;?%26gt;里面如果哪个地方少个空格,就有你受的了.以前写的时候用了页面重排之后,把一些空格给干掉了,整整找了两天才找出错误来,大家千万别步我的后尘.2)标签,如果标签不成对,会提示错误,大家注意就是了,很容易修正.

本新闻共2页,当前在第1页  1  2  


编辑: [发送给好友] [打印本页] [关闭窗口] [返回顶部]
上一篇:PHP安装攻略:安装并配置PHP
下一篇:PHP和ASP上传漏洞探究
转载请注明来源:www.iyit.net
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。

 相关文章
Win2000下PHP服务器安装攻略 IIS环境下安装PHP5手记全攻略 PHP5:session会话的使用和分析
PHP和ASP上传漏洞探究 我在windows  XP上安装apache2.044+php Apache+php,怎样打开session支持??
在linux中怎么配置pdflib和php  高分! 怎么样同时解释.php和.php3的文件呀,急 PHP 4.1.0 及以后版本使用POST变量的接
Apache2-Win32+PHP的成功安装方法 我只是想在本地机上学习php ,还要安装 装了PHP。运行时出现在以下提示
PHP在Win2003上面怎样安装? php 在Linux 下如何開啟ftp功能 如何屏蔽掉 phpinfo()
php.ini中文版 请问怎样降低php的警告等级? 一个打击了我学习php热情的问题:怎么样
PHP初学者的入门问题 运行php程序会出现乱码是怎么回事?Zen 如何让php拥有root的权限?
为什么php中的函数mail()不能发送邮件 成功地在linux/unix下安装apache+php+o 在win2k下如何安装apache、mysql、php?
最新更新 热点排行 推荐新闻
Win2000下PHP服务器安装攻略
IIS环境下安装PHP5手记全攻略
PHP5:session会话的使用和分析
PHP和ASP上传漏洞探究
php作wap开发时遇到的问题 
Win2000下PHP服务器安装攻略
IIS环境下安装PHP5手记全攻略
PHP5:session会话的使用和分析
CN代理年末促销大战第一枪打响
稳定VDNS域名解析系统为代理护航 
MY SQL常用命令
如何远程连接SQL Server数据库
Photoshop:巧用路径工具做流线字
Photoshop:栅格效果
Photoshop:银币效果
PHP和ASP上传漏洞探究
php作wap开发时遇到的问题 
Win2000下PHP服务器安装攻略
IIS环境下安装PHP5手记全攻略
PHP5:session会话的使用和分析
破解QQ密码如此简单 
DOS教程 DOS命令基础应用
永久免费网游《刀OL》11月3日开放新服
最新永久免费网游年列表,免费3d网游
低格、分区、高格的应对--DOS命令应用
合并VCD片断、快速删除文件夹--DOS命令
一劳永逸--批处理命令(一)
SQL Server安装文件挂起错误解决办法
远程破解盗窃QQ密码的各种方法
破解Windows密码如此简单!
Win2000下PHP服务器安装攻略
IIS环境下安装PHP5手记全攻略
PHP5:session会话的使用和分析
PHP和ASP上传漏洞探究
Win2000下PHP服务器安装攻略
IIS环境下安装PHP5手记全攻略
PHP5:session会话的使用和分析
Photoshop:巧用路径工具做流线字
浪漫摄影后期之工笔画风
Maya精彩实例:世界杯足球“团队之星”
网站优化建议
5种Alexa世界排名作弊方式
免费搜索引擎登录入口
网页里插入视频文件方法大全

设置首 页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
Copyrights © 2004-2006 iYiT.Net All Rights Reserved.
网站合作、广告联系QQ:147007642、466949678
易特网络技术 点击这里给我发消息