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 相关文章推荐
屏蔽浏览器缓存另类方法
Oct 09 PHP
js下函数般调用正则的方法附代码
Jun 22 PHP
PHP面向对象分析设计的经验原则
Sep 20 PHP
PHP警告Cannot use a scalar value as an array的解决方法
Jan 11 PHP
CI框架中site_url()和base_url()的区别
Jan 07 PHP
php使用Jpgraph绘制复杂X-Y坐标图的方法
Jun 10 PHP
深入理解PHP内核(二)之SAPI探究
Nov 10 PHP
PHP基于单例模式实现的mysql类
Jan 09 PHP
thinkphp 手机号和用户名同时登录
Jan 20 PHP
PHP实现链式操作的三种方法详解
Nov 16 PHP
php 字符串中是否包含指定字符串的多种方法
Apr 12 PHP
php多进程并发编程防止出现僵尸进程的方法分析
Feb 28 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
Windows IIS PHP 5.2 安装与配置方法
2009/06/08 PHP
php版微信支付api.mch.weixin.qq.com域名解析慢原因与解决方法
2016/10/12 PHP
PHP实现可精确验证身份证号码的工具类示例
2018/05/31 PHP
JS比较2个日期间隔的示例代码
2014/04/15 Javascript
理解 JavaScript Scoping &amp; Hoisting(二)
2015/11/18 Javascript
学习JavaScript图片预加载模块
2016/11/07 Javascript
js调用刷新界面的几种方式
2017/05/03 Javascript
nodejs制作爬虫实现批量下载图片
2017/05/19 NodeJs
使用html+js+css 实现页面轮播图效果(实例讲解)
2017/09/21 Javascript
原生JavaScript实现的简单放大镜效果示例
2018/02/07 Javascript
Vue.js 踩坑记之双向绑定
2018/05/03 Javascript
微信小程序swiper实现滑动放大缩小效果
2018/11/15 Javascript
vue集成chart.js的实现方法
2019/08/20 Javascript
vue封装swiper代码实例解析
2019/10/08 Javascript
JavaScript Blob对象原理及用法详解
2020/10/14 Javascript
利用Python画ROC曲线和AUC值计算
2016/09/19 Python
python实现用户答题功能
2018/01/17 Python
Python3.6.0+opencv3.3.0人脸检测示例
2018/05/25 Python
python实现俄罗斯方块
2018/06/26 Python
python实现逆滤波与维纳滤波示例
2020/02/26 Python
python解析xml文件方式(解析、更新、写入)
2020/03/05 Python
win10安装python3.6的常见问题
2020/07/01 Python
Python join()函数原理及使用方法
2020/11/14 Python
python爬取豆瓣电影排行榜(requests)的示例代码
2021/02/18 Python
利用css3实现的简单的鼠标悬停按钮
2014/11/04 HTML / CSS
玉兰油美国官网:OLAY美国
2018/10/25 全球购物
澳大利亚体育和露营装备在线/实体零售商:Find Sports
2020/06/03 全球购物
L’Artisan Parfumeur官网:法国香水品牌
2020/08/11 全球购物
服装设计专业自荐书范文
2013/12/30 职场文书
ktv好的活动方案
2014/08/17 职场文书
初中优秀教师事迹材料
2014/08/18 职场文书
买卖合同协议书范本
2014/10/18 职场文书
2014年体育部工作总结
2014/11/13 职场文书
运动会闭幕词
2015/01/28 职场文书
导游词之山海关
2019/12/10 职场文书
写一个Python脚本下载哔哩哔哩舞蹈区的所有视频
2021/05/31 Python