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 相关文章推荐
Gregarius中文日期格式问题解决办法
Apr 22 PHP
删除及到期域名的查看(抢域名必备哦)
May 14 PHP
PHP数组内存耗用太多问题的解决方法
Apr 05 PHP
探讨PHP调用时间格式的参数详解
Jun 06 PHP
解析PHP获取当前网址及域名的实现代码
Jun 23 PHP
php教程之魔术方法的使用示例(php魔术函数)
Feb 12 PHP
谈谈PHP连接Access数据库的注意事项
Aug 12 PHP
php实现水印文字和缩略图的方法示例
Dec 29 PHP
laravel中的一些简单实用功能
Nov 03 PHP
php设计模式之策略模式实例分析【星际争霸游戏案例】
Mar 26 PHP
PHP连接SQL server数据库测试脚本运行实例
Aug 24 PHP
PHP7 错误处理机制修改
Mar 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
PHP内存缓存Memcached类实例
2014/12/08 PHP
PHP检测用户是否关闭浏览器的方法
2016/02/14 PHP
最近项目写了一些js,水平有待提高
2009/01/31 Javascript
从jquery的过滤器.filter()方法想到的
2013/09/29 Javascript
js获取当前月的第一天和最后一天的小例子
2013/11/18 Javascript
thinkphp中常用的系统常量和系统变量
2014/03/05 Javascript
漂亮! js实现颜色渐变效果
2016/08/12 Javascript
nodejs实现发出蜂鸣声音(系统报警声)的方法
2017/01/18 NodeJs
详解使用grunt完成requirejs的合并压缩和js文件的版本控制
2017/03/02 Javascript
bootstrap suggest搜索建议插件使用详解
2017/03/25 Javascript
vue2.0中goods选购栏滚动算法的实现代码
2017/05/17 Javascript
webpack开发跨域问题解决办法
2017/08/03 Javascript
jQuery插件实现弹性运动完整示例
2018/07/07 jQuery
JS canvas绘制五子棋的棋盘
2020/05/28 Javascript
vue实现鼠标移入移出事件代码实例
2019/03/27 Javascript
python设置检查点简单实现代码
2014/07/01 Python
Android应用开发中Action bar编写的入门教程
2016/02/26 Python
windows 10下安装搭建django1.10.3和Apache2.4的方法
2017/04/05 Python
使用requests库制作Python爬虫
2018/03/25 Python
PyQt5每天必学之滑块控件QSlider
2018/04/20 Python
使用Python中的reduce()函数求积的实例
2019/06/28 Python
详解使用python绘制混淆矩阵(confusion_matrix)
2019/07/14 Python
python 设置xlabel,ylabel 坐标轴字体大小,字体类型
2019/07/23 Python
python如何实现从视频中提取每秒图片
2020/10/22 Python
django正续或者倒序查库实例
2020/05/19 Python
Jacadi Paris英国官网:法国童装品牌
2019/08/09 全球购物
Eclipse面试题
2014/03/22 面试题
大学四年规划书范文
2013/12/27 职场文书
计生工作先进事迹
2014/08/15 职场文书
小学生自我评价100字(15篇)
2014/09/18 职场文书
民警群众路线教育实践活动对照检查材料
2014/10/04 职场文书
出纳工作检讨书
2014/10/18 职场文书
2014年网管工作总结
2014/12/11 职场文书
中学教师教学工作总结
2015/08/13 职场文书
导游词之桂林
2019/08/20 职场文书
Win2008系统搭建DHCP服务器
2022/06/25 Servers