wap(無線通訊協議)是在數字移動**、個人手持裝置(pda等)及計算機之間進行通訊的開放性全球標準協議。隨著無線通訊的不斷發展,靜態的 wap頁面在很多方面已經不能滿足使用者個性化的要求,因此開發者可以在wap伺服器端使用諸如php等語言產生動態的wml頁面,來滿足使用者的需要。
wap的應用結構非常類似於internet,乙個典型的wap應用請求步驟描述如下:
1. 具有wap使用者**功能的移動終端(如wap手機),通過內部執行的微瀏覽器向某一**傳送wap服務請求。該請求先由wap閘道器截獲,對資訊內容進行編碼壓縮,以減少網路資料流量,同時根據需要將wap協議轉換成http協議。
2. 協議將處理後的請求轉送到相應wap伺服器。在wap伺服器端,根據頁面副檔名等屬性,被請求的頁面直接或由伺服器端指令碼解釋後輸出,再經過閘道器傳回給使用者。
從上述的wap應用流程可以發現,生成動態wap頁面與動態產生web網頁的過程非常相似。但是由於wap應用使用的wml語言**於語法嚴格的 xml,因此要求輸出的格式必須按wap網頁的規範輸出。同時,由於wap協議的應用範圍及移動客戶端的軟、硬體配置等侷限性,對每次輸出的頁面的大小、 影象的格式及容量都有一定限制。本文筆者將以php語言為例,和廣大網路程式開發愛好者共同**動態輸出wap頁面的方法和應用。
輸出簡單的動態wap頁面
由於生成wap頁面的過程和生成一般的web頁面非常類似,筆者通過乙個最簡單的wap頁面的例子來介紹。不過提醒一句:由於需要php直譯器來解釋該程式並輸出wap頁面,因此所有類似的程式應以「php」為副檔名哦。
< ?php
header("content-type: text/vnd.wap.wml"); //定義輸出文件為wml型別
echo (" ");
echo ( "hello wap" );
echo ("");
該例項可以在wap手機模擬器中瀏覽,輸出一句經典的「hello wap」語句,但是在普通的網路瀏覽器中是無法識別的,原因很簡單,在程式開頭宣告了該輸出文件為wml型別,只有wap裝置能夠識別並解釋。不過又要提 醒一句:常見的html語言對規範性要求不嚴,大多數瀏覽器能「寬容」地接受其中的編寫錯誤,但是wml的規範相當嚴格,任何的錯誤都可能導致無法輸出所 需的頁面。
例項1 動態生成影象
wap使用的影象是一種特殊的黑白影象格式:wbmp。開發者可以使用 一些現有的工具將一般影象轉換成wbmp格式,然後在wml文件中使用。但是如果在wap程式中能動態地生成所需影象(如**的**圖),將會使程式有極 其廣闊的應用前景。php提供了強大的圖形繪製功能,下面的例項將將在wap模擬器中顯示乙個黑色的矩形框。
(注意:要使用gd的影象函式庫,必須在php配置中載入「php_gd.dll」庫檔案。)
< ?php
header("content-type: image/vnd.wap.wbmp"); //定義輸出的影象格式為wbmp
sim = imagecreate(50, 50);
swhite = imagecolorallocate(sim,255,255,255);
sblack = imagecolorallocate(sim,0,0,0);
imagerectangle(sim, 5, 5, 20, 20, sblack);
imagewbmp(sim);
imagedestroy(sim);
例項2 處理漢字
< ?php
header("content-type: text/vnd.wap.wml; charset=gb2312"); //定義字元的編碼為gb2312
echo ("");
echo ("你好");
echo ("");
在程式的「header」語句中,定義了文字的編碼為gb2312,如果使用者的手機支援gb2312編碼,將會顯示「你好」的字樣。
用 PHP 程式語言開發動態 WAP 頁面
wap 無線通訊協議 是在數字移動 個人手持裝置 pda 等 及計算機之間進行通訊的開放性全球標準協議。隨著無線通訊的不斷發展,靜態的wap頁面在很多方面已經不能滿足使用者個性化的要求,因此開發者可以在wap伺服器端使用諸如 php 等語言產生動態的 wml 頁面,來滿足使用者的需要。wap 的應用...
用 PHP 程式語言開發動態 WAP 頁面
wap 無線通訊協議 是在數字移動 個人手持裝置 pda等 及計算機之間進行通訊的開放性全球標準協議。隨著無線通訊的不斷發展,靜態的 wap 頁面在很多方面已經不能滿足使用者個性化的要求,因此開發者可以在 wap 伺服器端使用諸如php等語言產生動態的 wml 頁面,來滿足使用者的需要。wap 的應...
用PHP程式語言開發動態WAP頁面
wap 無線通訊協議 是在數字移動 個人手持裝置 pda等 及計算機之間進行通訊的開放性全球標準協議。隨著無線通訊的不斷發展,靜態的wap頁面在很多方面已經不能滿足使用者個性化的要求,因此開發者可以在wap伺服器端使用諸如php等語言產生動態的wml頁面,來滿足使用者的需要。wap的應用結構非常類似...