用PHP编程语言开发动态WAP页面实例

WAP(无线通讯协议)是在数字移动电话、个人手持设备(PDA等)及计算机之间进行通讯的开放性全球标准协议。随着无线通讯的不断发展,静态的WAP页面在很多方面已经不能满足用户个性化的要求,因此开发者可以在WAP服务器端使用诸如PHP(PHP培训 php教程 )等语言产生动态的WML页面,来满足用户的需要。

  WAP的应用结构非常类似于Internet,一个典型的WAP应用请求步骤描述如下:

  1. 具有WAP用户代理功能的移动终端(如WAP手机),通过内部运行的微浏览器向某一网站发送WAP服务请求。该请求先由WAP网关截获,对信息内容进行编码压缩,以减少网络数据流量,同时根据需要将WAP协议转换成HTTP协议。

  2. 协议将处理后的请求转送到相应WAP服务器。在WAP服务器端,根据页面扩展名等属性,被请求的页面直接或由服务器端脚本解释后输出,再经过网关传回给用户。

  从上述的WAP应用流程可以发现,生成动态WAP页面与动态产生Web网页的过程非常相似。但是由于WAP应用使用的WML语言来源于语法严格的XML,因此要求输出的格式必须按WAP网页的规范输出。同时,由于WAP协议的应用范围及移动客户端的软、硬件配置等局限性,对每次输出的页面的大小、图像的格式及容量都有一定限制。本文笔者将以PHP语言为例,和广大网络程序开发爱好者共同探讨动态输出WAP页面的方法和应用。

  输出简单的动态WAP页面

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

  < ?php

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

  echo (" ");

  echo ( "Hello WAP" );

  echo ("");

  ?>

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

  实例1 动态生成图像

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

  (注意:要使用GD的图像函数库,必须在PHP配置中加载“PHP_GD.DLL”库文件。)

  < ?PHP

  Header("Content-type: image/vnd.wap.wbmp"); //定义输出的图像格式为WBMP

  Sim = ImageCreate(50, 50);

  Swhite = ImageColorAllocate(Sim,255,255,255);

  Sblack = ImageColorAllocate(Sim,0,0,0);

  ImageRectangle(Sim, 5, 5, 20, 20, Sblack);

  ImageWBMP(Sim);

  ImageDestroy(Sim);

  ?>

  实例2 处理汉字

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

  < ?php

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

  echo ("");

  echo ("你好");

  echo ("");

  ?>

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

  作为未来网络通讯的主导,WAP程序的开发已日趋热门。相信通过本文的阅读,能使开发者对使用PHP进行WAP开发有一个初步的印象,希望广大读者能在本文的基础上,参考WML语言,开发出更加强大的WAP应用程序。

时间: 2024-08-05 05:03:15

用PHP编程语言开发动态WAP页面实例的相关文章

手机wap页面开发小记

最近偶然开发手机wap页面,记点新鲜的东西,嘿嘿. 1. 页面要标记为手机wap页面,可增加百度等工具对wap页面的识别度. 例如:<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd"> 同时,在<title>处标记 "Apple*" ,也利于搜素工具的检索

PHP培训教程 php生成WAP页面

PHP培训教程 php生成WAP页面 WAP(无线通讯协议)是在数字移动电话.个人手持设备(PDA等)及计算机之间进行通讯的开放性全球标准.由于静态的WAP页面在很多方面不能满足用户个性化的服务请求,因此通过WAP服务器端PHP培训语言产生动态的WML页面,具有很广泛的应用价值和很高的商业价值. WAP应用结构非常类似于Internet,一个典型的WAP应用请求是这样的:首先,具有WAP用户代理功能的移动终端(WAP手机等)通过内部运行的微浏览器(Micro Browser)对某一网站以无线方式

(转)Django学习之 第三章:动态Web页面基础

上一章我们解释了怎样开始一个Django项目和运行Django服务器 当然了,这个站点实际上什么也没有做------除了显示了"It worked"这条信息以外. 这一章我们介绍怎样使用Django创建动态网页 你的第一个视图:动态内容 让我们创建一个显示当前日期和时间的Web页面来作为你的第一个目标 这是一个动态Web页面的例子,因为页面内容根据计算当前时间而变化 这个例子不需要数据库和任何用户输入,只是输出服务器内部时钟 我们将写一个视图方法,它只是一个Python方法,接受Web

如何使用微信小程序开发一个弹窗页面(附源码)

在小程序的开发过程中,我们肯定会遇到开发一个弹窗页面的情况,我们先看一下小程序官方对于弹窗页面的解释.API的接口如下 从官方给出的代码示例来看,想当简单,就像一个asert,并不能看出弹窗的真实需求.所以今天HTML51.COM就写了一个弹窗小程序教程,供大家学习参考.首页我们先看一下动态的效果图: 我们首先看到的是首页代码: <view class="copyright"> <view class="copyright_item">Cop

在javaEE下学习web(在eclipse中开发动态的WEB工程,servlet的环境搭建,及servlet的一些方法)

一个简便的方法实现javaee版的eclipse开发动态的WEB工程(javaWEB项目)1.把开发选项切换到javaEE2. 可以在window->shou view 中找到package explorer并把其拖到开发区的左边 (Tomcat环境搭建在这不多说)3.在servers面板中新建Tomcat服务器,一定要关联到Tomcat安装的根目录4.新建一个Dynamic Web Project.其中Target Runtime需选择Tomcat6.0(3)5.开发java WEB应用6.可

Web开发中,页面渲染方案

转载自:http://www.jianshu.com/p/d1d29e97f6b8 (在该文章中看到一段感兴趣的文字,转载过来) 在Web开发中,有两种主流的页面渲染方案: 服务器端渲染,通过页面渲染引擎渲染好HTML页面发送给浏览器 客户端渲染,客户单端通过RESTAPI获取数据在浏览器上动态渲染页面 前者的技术栈包括:Thymeleaf.Apache Velocity .Freemarker 等主流方案,后者有React.AngularJS.vue.js.Backbone.js等前端渲染框架

教会你开发移动端页面的文章(二)

之前分享过一篇文章<教会你开发移动端页面的文章(一)>.那是本篇文章的基础,如果没有阅读过的同学可以去看看,今天就给大家带来干货,真真正正的讲到如何很好的开发一个移动端的页面 好了,让我们开始吧,从哪里开始呢?从设计图开始,即PSD稿件:移动端PSD稿件的尺寸肯定较之PC端的PSD稿件不同,具体体现在设计图的尺寸上,现在移动端的设计图尺寸大多以iPhone5和iPhone6的设备像素尺寸作为依据,比如拿到一张PSD设计图,它的总宽度为640px(iPhone5)或者750px(iPhone6)

Class 17 - 2 动态渲染页面爬取 — Splash

一.Splash 的使用 Splash 是一个JavaScript 渲染服务,带有 HTTP API的轻量级浏览器,同时对接了 Python 中的 Twisted 和 QT 库.利用它,同样可以实现动态渲染页面的抓取. 实例引入 通过 Splash 提供的 Web 页面来测试其渲染过程.例:在本机 8050 端口上运行 Splash 服务,打开 http://localhost:8050/ 即可看到其 Web 页面: 黑色框显示的是一个渲染示例.上方有个输入框,默认是 http://google

静态web页面与动态web页面的区别

一.静态web页面 在静态web程序中,客户端使用web浏览器经过网络连接到服务器上,使用HTTP协议发起一个请求(Request),告诉服务区我现在需要得到哪个页面,所有的请求交给web服务器,之后web服务器根据用户的需求,从文件系统(存放了所有静态页面的磁盘)取出内容.之后通过web服务器返回给客户端,客户端接收到内容之后经过浏览器渲染解析,得到显示的效果. 为了让静态web页面显示更加好看,使用javascript/VBScript/ajax.但是这些特效都是在客户端上借助于浏览器展现给