PHP与WAP技术

来源:互联网 发布:淘宝vip会员设置 编辑:程序博客网 时间:2024/05/21 07:01

<!--@page { margin: 2cm }P { margin-bottom: 0.21cm }A:link { so-language: zxx }-->

前些时间用PHP写了个手机报,前两天老板说我写的标准太高了,老的手机不支持,今天花时间整理并用自己的老MOTOE1测试,边改边测,经过自己的手机测试没有问题。就不废话太多了,下面总结PHP实现WAP的开发。


第一,了角WAP

 WAP (WirelessApplication Protocol)是无线应用协议的简称,是一种向移动终端提供互联网内容和先进增值服务的全球统一的开放式协议标准,是简化了的无线Internet协议。WAPInternet和移动通信设备(手机、PDA)技术结合起来,使随时随地访问丰富的互联网络资源成为现实。WAP服务是一种移动设备直接上网,通过WAP“浏览器”浏览wap站点的服务,可享受新闻浏览、股票查询、邮件收发、在线游戏、聊天等多种应用服务。通过GPRS网络接入WAP,可充分发挥接入时延短(2秒接入)速率高、永远在线、切换方便等优点

  WAP能支持HTHLXML,但WML才是专门为小屏幕和无键盘手持设备服务的语言。WAP也支持WMLScript。这种脚本语言类似与JavaScript,但对内存和CPU的要求更低,因为它基本上没有其他脚本语言所包含的无用功能。

这些概念性的东西就是不介绍太多,要详细了解上网百科,我们只要讨论的是PHPWML的技术结合,WML语言属于描述性标识语言,是XML的分支。特点是,文档规范非常严格,一点失误都可能导致无法输出所需页面(这点深有体会,在写测试过程中就遇到这问题,输出在operam3stp12里测试没有问题,有的手机上也没有问题,就是我的E1上出现“500无法访问的错误”,后来检测是因为PHP里有的变量没有声明定义引起,虽然程序没有报错提示,但在老的手机还是无法正常显示)。标签内属性的值必须用"或者'括起来,属性名,=和值之间不能有空格。对于不成对出现的标签,必须在>前加/,比如<br/>。在对变量的引用上和HDML基本相同。详细的WML基础知识可以到我的上一篇blog中了解:

http://blog.csdn.net/qingflyer/archive/2009/03/18/4000512.aspx

 

第二、WAP页面简介

WAP页面一般由多个card标签组成,如下:

<cardid='index' order='true'>

<p>

<dotype='accept'>

<gohref='http://wap.chongwen.com'>

</do>

</p>

</card>

每个card标签里可以包括多个元素,比如链接、输入表单等。要注意的“&”是保留字,在URL里要把“&”转换为”&amp;”

 

第三、PHP创建WAP页面

代码如下,就是要声明这个页面是WAP文件,让访问设置知道这是一个WML,这里要注意<?xmlversion=”1.0” encoding=”tf-8”?>,如果PHP配置里设置了<??>短标识,避免PHP误解析,最好用echo输出,如下。

<?php
Header("Content-type:text/vnd.wap.wml");
Header("Cache-Control: no-cache,must-revalidate");
Header("Pragma:no-cache");
Header("Content-type: text/vnd.wap.wml;charset=utf-8");
echo("<?xml version=/"1.0/"encoding=/"utf-8/"?>")
?>

 

第四、例子

test.php

 

<?php

Header("Content-type:text/vnd.wap.wml");

Header("Cache-Control:no-cache, must-revalidate");

Header("Pragma:no-cache");

Header("Content-type:text/vnd.wap.wml; charset=utf-8");

echo("<?xmlversion=/"1.0/" encoding=/"utf-8/"?>")

?>

<!DOCTYPEwml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN""http://www.wapforum.org/DTD/wml_1.1.xml">

<wml>

<cardid='index' title='长江商报手机版'>

<p>长江商报-主流生活驱动力</p>

<?php

echo('<p>');

echo('今天:'.date('ymd')."/n<br/>/n");

echo('武汉');

echo(getWeather()); //这是自定义的获取天气信息的函数

echo('</p>');

echo'hello!';

echo"</p>";

?>

 

</card>

</wml>

 

第五、总结

1、了解WAP

2、把文件结构分解,WAP必要的头文件放也头文件里,应用里导入引用

3PHP的处理文件分离出独立处理各个功能模块。

4、注意检测变量的定义与标签的结尾避免显示错误

5、多种工具测试,确保正常,尽量不用新标准标签避免老手机不支持。

 

原创粉丝点击