WML,Apache,和 PHP 的介绍


Posted in PHP onOctober 09, 2006

在公司的网站中, 我发现需要一个可以无线接收我的电子邮件,股市资讯等. 不想要付钱给人来得到我要的资讯, 我决定了开发一个无线网站.这样的资讯在网际网路上是没问题的,但是它被分散得难以收集。我需要可以执行 php ,存取资料库,并且我需要 PHP 为我做另外的功能。这篇文章含盖了wml 的基础, 如何建立你的 apache Server 和 php 。这些基础可让你建立环境并且自己学习往後的应用.
 

需 求
你要对 Apache Web Server, Php 和 html 有点经验. 对系统的要求来说,我是用 apache 1.3.9, php3, 和 Red Hat Linux 6.0 来示范. 我还没碰到在 windows 上跑 Apache, 和 PHP3 或 PHP4 上的任何问题.

在这篇文章,我将指导你接触的领域: wml 的介绍,在 Apache 上设定无线 appications ,并且建立你的第一个 WML/PHP 网页.大部份的资讯可从网际网路上收集.

WML 简 介
WML 代表无线的标注语言. WAP 电话或类似的设备被用来以 WML 写成的网页。WML 基于它类似於 XML 的句法和 scrictness 。使用过了 html 的任何人将不有问题学习 WML 。许多标签和属性是一样的,况且标签不多. WML 允许程式开发者开发动态的内容, 尽管为这篇文章我们将以PHP作为动态的语言.

WML 基 础
在 WML 你能使用许多子页 ( 叫 "cards'' ) 在一个 WML 页中 (叫 " deck") .每个 WML card 的作用像在网页中被显示的内容.下列将是我们 .wml 页的例子 。在我的 Server 上,我在 ~ /wireless/home.wml 储存了这个档案

  <wml>
   <card id='home'> <p> 我的第一个测试页 </p>
   </card>
   </wml>

不同于 HTML ,如果你不colse 标签, 例如 <wml> </wml>,则你的程式码将不正确. 此例子会在任何无线的设备上产生一简单的测试信息“我的第一个测试页”。

设 定 Apache
好, 现在有趣的部分.为了 apache 能 catch 住无线设备到访你的Server, 你需要建立你的 httpd.conf ( 我的档案位於 /etc/httpd/conf/) 档案, 我用 PHP3 因此所有的变化会被记录。在你开始以前,你可以备份你的 httpd.conf 档案,以防万一:)

步骤 1 :第一, 我们需要 AddType 功能增加一新的 MIME 类型。你需要到你定义 php 的 Script 中。看起来像下面一样:

<IfModule mod_php3.c>
AddType application/x-httpd-php3 .php3 .php .phtml

AddType application/x-httpd-php3-source .phps

</IfModule>

要改为:

 

<IfModule mod_php3.c>
AddType application/x-httpd-php3 .php3 .php .phtml .wml

AddType application/x-httpd-php3-source .phps
</IfModule>

这会用 PHP compiler 在所有的 .wml 页.

步骤 2 :去除Mark(Uncomment)apache Load Module 和 Add Module

变更:

#LoadModule rewrite_module modules/mod_rewrite.so

#AddModule mod_rewrite.c
 

成:

LoadModule rewrite_module modules/mod_rewrite.so

AddModule mod_rewrite.c

步骤 3 : 用 apache mod_rewrite module (只适用 1.2+版以上 ). 用这个,你可以即时的 rewite requested URL(当条件符合时). 需要把这片断码放在网页的底部.

 

RewriteEngine On

# Catch most WAP browsers

RewriteCond %{HTTP_ACCEPT} text/vnd\.wap\.wml [OR]

# WinWAP, WAPjag

RewriteCond %{HTTP_USER_AGENT} wap [OR]

#Nokia emulators (sdk)

RewriteCond %{HTTP_USER_AGENT} 7110

# Rewrite to where your wireless page is located

RewriteRule ^[\./](.*)$ /home/mydirectory/wireless/home.wml [L]

现在要重新启动 apache server.

 

产生你第一个无线 WML/PHP 网页
Ok, 既然我们万事俱备, 让我们建立第一个网页。为了能正常运作,你需传送正确的 header 资讯.
<?php

# Send the header information<br>
header("Content-type: text/vnd.wap.wml");

?>

# put in the wml code
<wml>

<card id='home'>

<p>

My first test page

<p>
</card>
</wml>

你刚完成了你的第一个“简单”的无线网页。现在, 让我们试著更努力做一些较难的东西吧。  

你需要检查你 WAP 兼容的网站设备。我使用 Phone.com 软件开发工具包, 它包含 UP.Simulator , 可以检查我的无线网页。选择不同的电话并且看他们的无线网页通过不同的设备时看起来的长像。

更多的资讯在:

http://updev.phone.com
http://www.wapforum.org
http://www.wap.com
http://www.waplinks.com

PHP 相关文章推荐
PHP安全编程之加密功能
Oct 09 PHP
我的论坛源代码(六)
Oct 09 PHP
二十行语句实现从Excel到mysql的转化
Oct 09 PHP
一个PHP数组应该有多大的分析
Jul 30 PHP
PHP MYSQL乱码问题,使用SET NAMES utf8校正
Nov 30 PHP
PHP下获取上个月、下个月、本月的日期(strtotime,date)
Feb 02 PHP
php查找指定目录下指定大小文件的方法
Nov 28 PHP
如何把php5.3版本升级到php5.4或者php5.5
Jul 31 PHP
php结合ajax实现手机发红包的案例
Oct 13 PHP
PHP设置images目录不充许http访问的方法
Nov 01 PHP
PHP实现简单的协程任务调度demo示例
Feb 01 PHP
基于PHP实现生成随机水印图片
Dec 09 PHP
BBS(php &amp; mysql)完整版(四)
Oct 09 #PHP
BBS(php &amp; mysql)完整版(一)
Oct 09 #PHP
建立动态的WML站点(二)
Oct 09 #PHP
建立动态的WML站点(一)
Oct 09 #PHP
建立动态的WML站点(三)
Oct 09 #PHP
Session的工作方式
Oct 09 #PHP
用Flash图形化数据(一)
Oct 09 #PHP
You might like
再次研究下cache_lite
2007/02/14 PHP
php 读取shell管道传输过来的内容
2010/03/01 PHP
PHP管理内存函数 memory_get_usage()使用介绍
2012/09/23 PHP
php上传图片存入数据库示例分享
2014/03/11 PHP
PHP设计模式之单例模式定义与用法分析
2019/03/26 PHP
php实现的支付宝网页支付功能示例【基于TP5框架】
2019/09/16 PHP
PHP 加密 Password Hashing API基础知识点
2020/03/02 PHP
jquery.ui.progressbar 中文文档
2009/11/26 Javascript
使用JavaScript实现Java的List功能(实例讲解)
2013/11/07 Javascript
自定义jquery模态窗口插件无法在顶层窗口显示问题
2014/05/29 Javascript
js判断浏览器是否支持html5
2014/08/17 Javascript
jQuery中:password选择器用法实例
2015/01/03 Javascript
js实现卡片式项目管理界面UI设计效果
2015/12/08 Javascript
JS 拼凑字符串的简单实例
2016/09/02 Javascript
js+div+css下拉导航菜单完整代码分享
2016/12/28 Javascript
微信小程序 地图map详解及简单实例
2017/01/10 Javascript
antd日期选择器禁止选择当天之前的时间操作
2020/10/29 Javascript
python使用WMI检测windows系统信息、硬盘信息、网卡信息的方法
2015/05/15 Python
python smtplib模块自动收发邮件功能(二)
2018/05/22 Python
python3.x实现发送邮件功能
2018/05/22 Python
python pycharm最新版本激活码(永久有效)附python安装教程
2020/09/18 Python
通过Python实现一个简单的html页面
2020/05/16 Python
关于Keras Dense层整理
2020/05/21 Python
css3如何绘制一个圆圆的loading转圈动画
2018/01/09 HTML / CSS
比利时香水网上商店:NOTINO
2018/03/28 全球购物
德国最大的婴儿用品网上商店:Kidsroom.de(支持中文)
2020/09/02 全球购物
2019年分享net面试的经历和题目
2016/08/07 面试题
Java servlet面试题
2012/03/04 面试题
高中三年学习生活的自我评价
2013/10/10 职场文书
大学活动邀请函
2014/01/28 职场文书
高中军训感言200字
2014/02/23 职场文书
升学宴主持词
2014/04/02 职场文书
人口与计划生育目标管理责任书
2014/07/29 职场文书
Django如何创作一个简单的最小程序
2021/05/12 Python
Python实现8种常用抽样方法
2021/06/27 Python
教你使用Ubuntu搭建DNS服务器
2022/09/23 Servers