PHP生成动态WAP手机页面

2021-06-20 作者:未知   |   浏览(
WAP(无线通讯协议)是在数字移动电话、个人手持设施(PDA等)及计算机之间进行通讯的开放性全球标准。因为静态的WAP页面在方方面面难以满足用户个性化的服务请求,因此通过WAP服务器端语言产生动态的WML页面,具备非常广泛的应用价值和非常高的商业价值。

  WAP应用结构很像Internet,一个典型的WAP应用请求是如此的:第一,具备WAP用户加盟功能的移动终端通过内部运行的微浏览器对某一网站以无线方法发送WAP服务请求。该请求先由WAP网关截获,对信息内容进行编码压缩,以降低互联网数据流量,同时依据需要将WAP协议转换成HTTP协议,然后将处置后的请求转送到相应WAP服务器。在WAP服务器端,依据页面扩展名等性质,被请求的页面直接或由服务器端脚本讲解后输出,再经网关传回用户。

从上述WAP应用步骤可以看到,生成动态WAP页面与动态产生Web网页的过程很类似。但因为WAP应用用的WML语言源自语法严格的XML,因此需要输出的格式需要按WAP网页的规范输出。同时,因为WAP协议的应用范围、移动推广客户端的软硬件水平等特殊性,对每次输出的页面的大小、图像的格式及容量都有肯定限制。下面大家以PHP脚本语言为例,看看怎么样动态输出WAP页面。
1、设置WEB服务器
第一你的Web服务器要安装好PHP,即能处置PHP脚本程序。第二,为使Web服务器能同时辨别和处置PHP、WML、WBMP等文件,Web服务器的MIME表需添加以下的几种文件种类。
text/vnd.wap.wml.wml
image/vnd.wap.wbmp.wbmp
application/vnd.wap.wmlc.wmlc
text/vnd.wap.wmls.wmls
application/vnd.wap.wmlsc.wmlsc
2、用PHP输出容易动态WAP页面
下面有一个最容易的PHP生成WAP页面的例子。注意因为需要PHP讲解器来讲解该程序,并输出WAP页面,因此所有类似程序应以.php为扩展名。
header;
echo;
echodate;
echo;
?>
该例子在WAP手机模拟器中可以浏览,输出目前日期时间,而在一般的浏览器中没办法辨别,甚至会被觉得是错误下载。这是由于在程序开头就声明了该输出文档为WML种类,该种类只有WAP设施可以辨别并讲解。值得注意的是,大家容易见到的HTML语言对规范性需要不严,大部分浏览器能“容忍”其中相当多的撰写错误,而WML规范相当严格,一点失误都可能致使没办法输出所需页面。
一旦大家知晓了用PHP脚本输出WAP页面的规范过程,大家就可以用PHP强大的功能配合以WML语言的交互处置与WMLScript的容易脚本,开发出合适大家需要的应用系统了。
3、用PHP动态生成图像
WAP应用用一种特殊黑白的图像格式WBMP。大家可以用一些工具来将已有图像转换成WBMP格式,然后在WML文档中用。但在WAP站点上假如能动态地生成所需图像如K线图等,将会有广阔的应用前景。幸运的是,PHP的GD库已经提供了相应函数。
Header;
Sim=ImageCreate;
Swhite=ImageColorAllocate;
Sblack=ImageColorAllocate;
ImageRectangle;
ImageWBMP;ImageDestroy;
?>
该文件将在WAP模拟器中显示一个黑色矩形框。注意要用GD的图像函数库,需要在PHP配置中加载PHP_GD.DLL库文件。
4、在PHP中处置汉字
WAP作为一种全球应用,选择了UNICODE2.0作为其标准字符集编码,以便能同时处置包括英文、中文、日文、法文等多种文字。而大家平时处置汉字用的是GB2312编码,不一样的内码标准必然不可以通用,因此假如不在两种编码之间通过码表进行转换,就会出现汉字乱码现象。目前已经有较成熟的GB-2312与UNICODE编码转换的程序和函数,并在ASP、PHP、JSP等系统中用,大家可以在一些技术站点上找到它们。
现在的大部分WAP手机(Nokia7110、爱立信R320S等等)都是用UTF-8编码的,也就是使用UNICODE来编码。如此,假如大家直接在WML用中文字符(GB2312编码),将会产生乱码,手机用户没办法辨别,所以大家在输出中文之前,要用程序或函数对中文进行UNICODE的编码。而在少数支持GB2312编码的手机或WAP终端设施中,大家可以在程序中概念好文档的内码种类后即可直接正确显示汉字,比如:
header;
echo;
echo;
echo;
?>

  • 上一篇:没有了
  • 下一篇:没有了
相关文章
热点关注