在公司的網站中, 我發現需要一個可以無線接收我的電子郵件,股市資訊等. 不想要付錢給人來得到我要的資訊, 我決定瞭開發一個無線網站.這樣的資訊在網際網路上是沒問題的,但是它被分散得難以收集。我需要可以執行 php(做為現在的主流開發語言) ,存取資料庫,並且我需要 php(做為現在的主流開發語言) 為我做另外的功能。這篇文章含蓋瞭wml 的基礎, 如何建立你的 apache(Unix平臺最流行的WEB服務器平臺) Server 和 php(做為現在的主流開發語言) 。這些基礎可讓你建立環境並且自己學習往後的應用.
需 求
你要對 apache(Unix平臺最流行的WEB服務器平臺) Web Server, php(做為現在的主流開發語言) 和 html 有點經驗. 對系統的要求來說,我是用 apache(Unix平臺最流行的WEB服務器平臺) 1.3.9, php(做為現在的主流開發語言)3, 和 Red Hat Linux 6.0 來示范. 我還沒碰到在 windows 上跑 apache(Unix平臺最流行的WEB服務器平臺), 和 php(做為現在的主流開發語言)3 或 php(做為現在的主流開發語言)4 上的任何問題.
在這篇文章,我將指導你接觸的領域: wml 的介紹,在 apache(Unix平臺最流行的WEB服務器平臺) 上設定無線 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(Unix平臺最流行的WEB服務器平臺)
好, 現在有趣的部分.為瞭 apache(Unix平臺最流行的WEB服務器平臺) 能 catch 住無線設備到訪你的Server, 你需要建立你的 httpd.conf ( 我的檔案位於 /etc/httpd/conf/) 檔案, 我用 php(做為現在的主流開發語言)3 因此所有的變化會被記錄。在你開始以前,你可以備份你的 httpd.conf 檔案,以防萬一:)
步驟 1 :第一, 我們需要 AddType 功能增加一新的 MIME 類型。你需要到你定義 php(做為現在的主流開發語言) 的 Script 中。看起來像下面一樣:
<IfModule mod_php(做為現在的主流開發語言)3.c>
AddType application/x-httpd-php(做為現在的主流開發語言)3 .php(做為現在的主流開發語言)3 .php(做為現在的主流開發語言) .phtml
AddType application/x-httpd-php(做為現在的主流開發語言)3-source .php(做為現在的主流開發語言)s
</IfModule>
要改為:
<IfModule mod_php(做為現在的主流開發語言)3.c>
AddType application/x-httpd-php(做為現在的主流開發語言)3 .php(做為現在的主流開發語言)3 .php(做為現在的主流開發語言) .phtml .wml
AddType application/x-httpd-php(做為現在的主流開發語言)3-source .php(做為現在的主流開發語言)s
</IfModule>
這會用 php(做為現在的主流開發語言) compiler 在所有的 .wml 頁.
步驟 2 :去除Mark(Uncomment)apache(Unix平臺最流行的WEB服務器平臺) 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(Unix平臺最流行的WEB服務器平臺) 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(Unix平臺最流行的WEB服務器平臺) 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 , 可以檢查我的無線網頁。選擇不同的電話並且看他們的無線網頁通過不同的設備時看起來的長像。