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 相关文章推荐
mysq GBKl乱码
Nov 28 PHP
个人站长制做网页常用的php代码
Mar 03 PHP
php 数组二分法查找函数代码
Feb 16 PHP
php自动给文章加关键词链接的函数代码
Nov 29 PHP
一个简单的php加密解密函数(动态加密)
Jun 19 PHP
简单的php中文转拼音的实现代码
Feb 11 PHP
smarty模板引擎使用内建函数foreach循环取出所有数组值的方法
Jan 22 PHP
PHP多线程编程之管道通信实例分析
Mar 07 PHP
php中smarty区域循环的方法
Jun 11 PHP
PHP模拟asp.net的StringBuilder类实现方法
Aug 08 PHP
PHP模板引擎Smarty内建函数foreach,foreachelse用法分析
Apr 11 PHP
thinkPHP框架实现多表查询的方法
Jun 14 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获取MySql新增记录ID值的3种方法
2014/06/24 PHP
laravel实现分页样式替换示例代码(增加首、尾页)
2017/09/22 PHP
js操作select控件的几种方法
2010/06/02 Javascript
input输入框的自动匹配(原生代码)
2013/03/19 Javascript
Javascript表单验证要注意的事项
2014/09/29 Javascript
jQuery toggle 代替方法
2016/03/22 Javascript
15个值得开发人员关注的jQuery开发技巧和心得总结【经典收藏】
2016/05/25 Javascript
解决ztree搜索中多级菜单展示不全问题
2017/07/05 Javascript
angular实现spa单页面应用实例
2017/07/10 Javascript
简单实现jQuery上传图片显示预览功能
2020/06/29 jQuery
vue组件实现文字居中对齐的方法
2017/08/23 Javascript
vue进行图片的预加载watch用法实例讲解
2018/02/07 Javascript
vue中如何去掉空格的方法实现
2018/11/09 Javascript
vue 地图可视化 maptalks 篇实例代码详解
2019/05/21 Javascript
解析原来浏览器原生支持JS Base64编码解码
2019/08/12 Javascript
nodejs dgram模块广播+组播的实现示例
2019/11/04 NodeJs
[48:29]2018DOTA2亚洲邀请赛3月30日 小组赛A组 LGD VS KG
2018/03/31 DOTA
[03:12]TI9战队档案 - Virtus Pro
2019/08/20 DOTA
python实现在windows下操作word的方法
2015/04/28 Python
Python探索之URL Dispatcher实例详解
2017/10/28 Python
浅析python3字符串格式化format()函数的简单用法
2018/12/07 Python
详解Python_shutil模块
2019/03/15 Python
Django重置migrations文件的方法步骤
2019/05/01 Python
python Tkinter的图片刷新实例
2019/06/14 Python
pytorch 使用单个GPU与多个GPU进行训练与测试的方法
2019/08/19 Python
使用python将excel数据导入数据库过程详解
2019/08/27 Python
python系列 文件操作的代码
2019/10/06 Python
pytorch sampler对数据进行采样的实现
2019/12/31 Python
python3 配置logging日志类的操作
2020/04/08 Python
python爬取招聘要求等信息实例
2020/11/20 Python
信息系统专业个人求职信范文
2013/12/07 职场文书
浙大毕业生自荐信
2014/01/26 职场文书
报效祖国演讲稿
2014/09/15 职场文书
2015年房地产销售工作总结
2015/04/20 职场文书
同意报考证明
2015/06/17 职场文书
繁星春水读书笔记
2015/06/30 职场文书