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函数解决SQL injection
Oct 09 PHP
模拟OICQ的实现思路和核心程序(三)
Oct 09 PHP
PHP XML操作类DOMDocument
Dec 16 PHP
php empty函数判断mysql表单是否为空
Apr 12 PHP
php下通过伪造http头破解防盗链的代码
Jul 03 PHP
PHP 数组和字符串互相转换实现方法
Mar 26 PHP
使用PHP编写的SVN类
Jul 18 PHP
PHP代码优化之成员变量获取速度对比
Feb 28 PHP
php保存二进制原始数据为图片的程序代码
Oct 14 PHP
php微信公众平台交互与接口详解
Nov 28 PHP
Laravel使用支付宝进行支付的示例代码
Aug 16 PHP
php查看一个变量的占用内存的实例代码
Mar 29 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 身份证号验证函数
2009/05/07 PHP
PHP中的string类型使用说明
2010/07/27 PHP
PHP手机短信验证码实现流程详解
2018/05/17 PHP
PHP实现基本留言板功能原理与步骤详解
2020/03/26 PHP
js根据鼠标移动速度背景图片自动旋转的方法
2015/02/28 Javascript
浅谈jQuery构造函数分析
2015/05/11 Javascript
JavaScript调用传递变量参数的相关问题及解决办法
2015/11/01 Javascript
JavaScript+html5 canvas制作色彩斑斓的正方形效果
2016/01/27 Javascript
浅谈js之字面量、对象字面量的访问、关键字in的用法
2016/11/20 Javascript
完美解决iview 的select下拉框选项错位的问题
2018/03/02 Javascript
jquery弹窗时禁止body滚动条滚动的例子
2019/09/21 jQuery
javascript实现一款好看的秒表计时器
2020/09/05 Javascript
使用Vant完成通知栏Notify的提示操作
2020/11/11 Javascript
nodejs处理tcp连接的核心流程
2021/02/26 NodeJs
python Django模板的使用方法(图文)
2013/11/04 Python
github配置使用指南
2014/11/18 Python
Python实现简单生成验证码功能【基于random模块】
2018/02/10 Python
selenium+python实现1688网站验证码图片的截取功能
2018/08/14 Python
Python读取mat文件,并保存为pickle格式的方法
2018/10/23 Python
python使用插值法画出平滑曲线
2018/12/15 Python
5款Python程序员高频使用开发工具推荐
2019/04/10 Python
python高斯分布概率密度函数的使用详解
2019/07/10 Python
详解html5 canvas 微信海报分享(个人爬坑)
2018/01/12 HTML / CSS
Html5页面获取微信公众号的openid的方法
2020/05/12 HTML / CSS
lookfantastic荷兰:在线购买奢华护肤、护发和化妆品
2018/11/27 全球购物
What is the purpose of Void class? Void类的作用是什么?
2016/10/31 面试题
韩语专业本科生求职信
2013/10/01 职场文书
安全检查与奖惩制度
2014/01/23 职场文书
元旦晚会邀请函
2014/01/27 职场文书
办公室文员工作职责
2014/01/31 职场文书
人力资源部经理岗位职责规定
2014/02/23 职场文书
咖啡店创业计划书范文
2014/09/15 职场文书
开展党的群众路线教育实践活动工作总结
2014/11/05 职场文书
给老婆的检讨书
2015/01/27 职场文书
车队安全员岗位职责
2015/02/15 职场文书
物业工程部主管岗位职责
2015/04/16 职场文书