当前位置: 首页 > 图文教程 > 网络编程 > PHP > PHP 输出简单动态WAP页面

PHP
php中如何避免sql注入攻击
半个汉字变问号,求解决办法
如何利用php来截取一段中文字符串而不出现乱码
php中文汉字替换与模式匹配的问题
如何生成静态html
提供一个最简单的购物车
如何用php作linux自动执行脚本?
phpsocket技术研究
PHP FRAMEWORK
如何将php作为shell脚本语言使用
用php实现pop3邮件的收取
浅析php中实现多线程
新身份证校验位算法
页面压缩gzip的运用
使cookie实现跨域名
PHP 验证码登陆校验
php中的面向对象和面向过程
php套接字编程
基于php的聊天室编程思想
实例学习php之投票程序

PHP 输出简单动态WAP页面


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 241 ::
收藏到网摘: n/a

首先,不管你是在本地调试还是想浏览网络上的wap页面,都需要一个能解析wap页面的浏览器 当然,也有其他方法,网上可以搜索得到。我这里推荐一个既能浏览http页面又能浏览wap页面的方法,那就是用Firefox + wmlbrowser组件。装好wmlbrowser组件的firefox就可以支持直接浏览wap页面了。
由于需要动态输出内容,我们不得不将页面的后缀名定为.php,那这样如何让浏览器将其解析为wap页面呢?很简单,只要在头文件输出的时候告诉浏览器该文件的MIME类型就行了。
复制代码 代码如下:

<?php
header("Content-type: text/vnd.wap.wml");
?>

有了上面一句,文件的扩展名就不重要了。
接下来就当是在编写一个PHP文件就行了,语法啊函数啊全部照常,记得在开头先输出XML的格式头,
复制代码 代码如下:

<?php
echo ('<?xml version="1.0"?>');
?>

另外,文本的格式要按wml的格式来写(也相当于xml),wml规范相当严格,一点失误都可能导致无法输出所需页面。
一个wml的模板如下:
复制代码 代码如下:

<?xml version="1.0" encoding="gb2312"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.3//EN" "http://www.wapforum.org/DTD/wml13.dtd" >
<wml>
<card title="">
</card>
</wml>

目前的大多数WAP手机(Nokia7110、爱立信R320S等等)都是使用UTF-8编码的,也就是采用UNICODE来编码。这样,如果我们直接在WML使用中文字符(GB2312编码),将会产生乱码,手机用户无法识别,所以我们在输出中文之前,要使用程序或函数对中文进行UNICODE的编码。而在少数支持GB2312编码的手机或WAP终端设备中,我们可以在程序中定义好文档的内码类型后即可直接正确显示汉字。