名扬数据:动态WAP页面,用PHP编程语言开发

WAP顺序的开发已日趋热门。相信通过本文的阅读,作为未来网络通讯的主导。能使开发者对使用PHP进行WAP开发有一个初步的印象,希望广大读者能在本文的基础上,参考WML语言,开发出更加强大的WAP应用顺序。静态的WAP页面在很多方面已经不能满足用户个性化的要求,WAP无线通讯协议)数字移动电话、个人手持设备(PDA 等)及计算机之间进行通讯的开放性全球规范协议。随着无线通讯的不时发展。因此开发者可以在WAP服务器端使用诸如PHP等语言发生动态的WML页面,来满足用户的需要。

WAP应用结构非常类似于Internet一个典型的WA P应用请求方法描述如下:对信息内容进行编码压缩,具有WAP用户代理功能的移动终端(如WAP手机)通过内部运行的微浏览器向某一网站发送WA P服务请求。该请求先由WAP网关截获。以减少网络数据流量,同时根据需要将WA P协议转换成HTTP协议;根据页面扩展名等属性协议,将处理后的请求转送到相应WA P服务器。WAP服务器端。被请求的页面直接或由服务器端脚本解释后输出,再经过网关传回给用户。生成动态WA P页面与动态产生Web网页的过程非常相似。但是由于WA P应用使用的WML语言来源于语法严格的XML因此要求输出的格式必需按WAP网页的规范输出。同时,从上述的WAP应用流程可以发现。由于WA P协议的应用范围及移动客户端的软、硬件配置等局限性,对每次输出的页面的大小、图像的格式及容量都有一定限制。本文笔者将以PHP语言为例,和广大网络顺序开发喜好者共同探讨动态输出WA P页面的方法和应用。

输出简单的动态WAP页面

笔者通过一个最简单的WAP页面的例子来介绍。不过提醒一句:由于需要PHP解释器来解释该顺序并输出WAP页面,由于生成WAP页面的过程和生成一般的Web页面非常类似。因此所有类似的顺序应以“php为扩展名哦。

输出一句经典的HelloWAP语句,该实例可以在WAP手机模拟器中浏览。但是普通的网络浏览器中是无法识别的原因很简单,顺序开头声明了该输出文档为WML类型,只有WAP设备能够识别并解释。不过又要提醒一句:罕见的HTML语言对规范性要求不严,大多数浏览器能“宽容”地接受其中的编写错误,但是WML规范相当严格,任何的错误都可能导致无法输出所需的页面。

实例1动态生成图像,然后在WML文档中使用。但是如果在WAP顺序中能动态地生成所需图像(如股市的K线图)将会使顺序有极其广阔的应用前景。PHP提供了强大的图形绘制功能,WAP使用的图像是一种特殊的黑白图像格式:WBMP开发者可以使用一些现有的工具将一般图像转换成WBMP格式。下面的实例将将在WAP模拟器中显示一个黑色的矩形框。

必需在PHP配置中加载“PHP_GD.DLL库文件。注意:要使用GD图像函数库。

<?php

header"Content-type:text/vnd.wap.wml";//定义输出文档为WML类型

echo"";

echo"HelloWA P";

echo"";

?>

实例2处置汉字,WAP选择了UNICODE2.0作为其规范字符集编码,作为一种全球应用的协议。能够同时处置英、中、日、法等多种文字。但是开发者日常处置的汉字是GB2312编码,不同的内码规范肯定不能通用,因此,如果不在两种编码之间通过码制的转换,就会出现汉字乱码的现象。目前的大多数WAP手机(Nokia7110爱立信R320S等等)都使用UTF-8即UNICODE来编码的如果直接在WML使用中文字符(GB2312编码)将会产生乱码,导致手机用户无法识别,因此在输出中文之前,必需使用顺序或函数(关于此类的PHP函数库,网络上已有非常多技术上成熟的产品可以下载)对中文进行UNICODE编码。而在少数支持GB2312编码的手机或WA P终端设备中,开发者只需在顺序中定义文档的内码类型后,即可直接正确显示汉字,看一个实例:

<?php

header"Content-type:text/vnd.wap.wml;charset=gb2312";//定义字符的编码为GB2312

echo"";

echo"好";

echo"";

?>

定义了文字的编码为GB2312如果用户的手机支持GB2312编码,顺序的header语句中。将会显示“好”字样。