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
php实现加减法验证码代码
Feb 14 PHP
php中Y2K38的漏洞解决方法实例分析
Sep 22 PHP
PHP中strtr字符串替换用法详解
Nov 26 PHP
PHP实现长文章分页实例代码(附源码)
Feb 03 PHP
PHP消息队列用法实例分析
Feb 12 PHP
thinkPHP的表达式查询用法详解
Sep 14 PHP
thinkPHP5 ACL用户权限模块用法详解
May 10 PHP
YII2框架中excel表格导出的方法详解
Jul 21 PHP
php-msf源码详解
Dec 25 PHP
php unlink()函数使用教程
Jul 12 PHP
php array 转json及java 转换 json数据格式操作示例
Nov 13 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和JavaScrip分别获取关联数组的键值示例代码
2013/09/16 PHP
php读取csc文件并输出
2015/05/21 PHP
php中实现用数组妩媚地生成要执行的sql语句
2015/07/10 PHP
Symfony的安装和配置方法
2016/03/17 PHP
Extjs ajax同步请求时post方式参数发送方式
2009/08/05 Javascript
解读JavaScript代码 var ie = !-[1,] 最短的IE判定代码
2011/05/28 Javascript
javascript和HTML5利用canvas构建猜牌游戏实现算法
2013/07/17 Javascript
javascript轻量级模板引擎juicer使用指南
2014/06/22 Javascript
nodejs 实现模拟form表单上传文件
2014/07/14 NodeJs
jQuery中[attribute*=value]选择器用法实例
2014/12/31 Javascript
jQuery实现右下角可缩放大小的层完整实例
2016/06/20 Javascript
JavaScript中利用构造器函数模拟类的方法
2017/02/16 Javascript
JS+html5制作简单音乐播放器
2020/09/13 Javascript
jQuery事件对象的属性和方法详解
2017/09/09 jQuery
使用Angular CLI生成 Angular 5项目教程详解
2018/03/18 Javascript
解决vue单页路由跳转后scrollTop的问题
2018/09/03 Javascript
利用React Router4实现的服务端直出渲染(SSR)
2019/01/07 Javascript
如何在Angular应用中创建包含组件方法示例
2019/03/23 Javascript
微信小程序收货地址API兼容低版本解决方法
2019/05/18 Javascript
[59:44]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 paiN vs iG
2018/03/31 DOTA
Python中删除文件的程序代码
2011/03/13 Python
在Python的框架中为MySQL实现restful接口的教程
2015/04/08 Python
python中文乱码不着急,先看懂字节和字符
2017/12/20 Python
Python设计模式之解释器模式原理与用法实例分析
2019/01/10 Python
网易有道2017内推编程题 洗牌(python)
2019/06/19 Python
TensorFlow基于MNIST数据集实现车牌识别(初步演示版)
2019/08/05 Python
pytorch实现保证每次运行使用的随机数都相同
2020/02/20 Python
浅析Python 责任链设计模式
2020/09/11 Python
详解pycharm配置python解释器的问题
2020/10/15 Python
基于python实现坦克大战游戏
2020/10/27 Python
英国领先的珍珠首饰品牌:Orchira
2016/09/11 全球购物
MAC彩妆英国官网:M·A·C UK
2018/05/30 全球购物
毕业生自我推荐
2013/11/04 职场文书
储备店长岗位职责
2015/04/14 职场文书
2015年小学师德师风建设工作总结
2015/10/23 职场文书
情况说明书格式及范文
2019/06/24 职场文书