新手利用WAP技術PHP開發入門教程?

WAP是在數字行動電話、個人手持裝置(PDA等)及計算機之間進行通訊的開放性全球標準協議。隨著無線通訊的不斷髮展,靜態的WAP頁面在很多方面已經不能滿足使用者個性化的要求,因此開發者可以在WAP伺服器端使用諸如PHP等語言產生動態的WML頁面,來滿足使用者的需要。

WAP的應用結構非常類似於Internet,一個典型的WAP應用請求步驟描述如下:

1. 具有WAP(無線通訊協議)使用者代理功能的移動終端(如WAP手機),通過內部執行的微瀏覽器向某一網站傳送WAP服務請求。該請求先由WAP閘道器截獲,對資訊內容進行編碼壓縮,以減少網路資料流量,同時根據需要將WAP協議轉換成HTTP協議。 2. 協議將處理後的請求轉送到相應WAP伺服器。在WAP伺服器端,根據頁面副檔名等屬性,被請求的頁面直接或由伺服器端指令碼解釋後輸出,再經過閘道器傳回給使用者。

輸出簡單的動態WAP頁面

由於生成WAP頁面的過程和生成一般的Web頁面非常類似,筆者通過一個最簡單的WAP頁面的例子來介紹。不過提醒一句:由於需要PHP直譯器來解釋該程式並輸出WAP頁面,因此所有類似的程式應以“php”為副檔名哦。[code="php"] < ?php header("Content-type: text/vnd.wap.wml"); //定義輸出文件為WML型別 echo (" "); echo ( "Hello WAP" ); echo (""); ?> [/code]

該例項可以在WAP手機模擬器中瀏覽,輸出“論文修改”一句經典的“Hello WAP”語句,但是在普通的網路瀏覽器中是無法識別的,原因很簡單,在程式開頭聲明瞭該輸出文件為WML型別,只有WAP裝置能夠識別並解釋。不過又要提醒一句:常見的HTML語言對規範性要求不嚴,大多數瀏覽器能“寬容”地接受其中的編寫錯誤,但是WML的規範相當嚴格,任何的錯誤都可能導致無法輸出所需的頁面。

例項① 動態生成影象

從上述的WAP應用流程可以發現,生成動態WAP頁面與動態產生Web網頁的過程非常相似。但是由於WAP應用使用的WML語言來源於語法嚴格的XML,因此要求輸出的格式必須按WAP網頁的規範輸出。同時,由於WAP協議的應用範圍及移動客戶端的軟、硬體配置等侷限性,對每次輸出的頁面的大小、影象的格式及容量都有一定限制。本文筆者將以PHP語言為例,和廣大網路程式開發愛好者共同探討動態輸出WAP頁面的方法和應用。

WAP使用的影象是一種特殊的黑白影象格式:WBMP。開發者可以使用一些現有的工具將一般影象轉換成WBMP格式,然後在WML文件中使用。(畢業論文)但是如果在WAP程式中能動態地生成所需影象(如股市的K線圖),將會使程式有極其廣闊的應用前景。PHP提供了強大的圖形繪製功能,下面的例項將將在WAP模擬器中顯示一個黑的矩形框。

(注:要使用GD的影象函式庫,必須在PHP配置中載入“PHP_GD.DLL”庫檔案。)

[code="php"] < ?PHP Header("Content-type: image/vnd.wap.wbmp"); //定義輸出的影象格式為原創論文WBMP www.saylun.com 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); ?> [/code]

例項② 處理漢字

作為一種全球應用的協議,WAP選擇了UNICODE 2.0作為其標準字符集編碼,能夠同時處理英、中、日、法等多種文字。但是開發者日常處理的漢字是GB2312編碼,不同的內碼標準必定不能通用,因此,如果不在兩種編碼之間通過碼制的轉換,就會出現漢字亂碼的現象。目前的大多數WAP手機(Nokia7110、愛立信R320S等等)都使用UTF-8(即UNICODE)來編碼的。如果直接在WML使用中文字元(GB2312編碼),將會產生亂碼,導致手機使用者無法識別,因此在輸出中文之前,必須使用程式或函式(關於此類的PHP函式庫,網路上已有非常多技術上成熟的產品可以下載)對中文進行UNICODE的編碼。而在少數支援GB2312編碼的手機或WAP終端裝置中,開發者只需在程式中定義文件的內碼型別後,即可直接正確顯示漢字,看一個例項:

< ?php header("Content-type: text/vnd.wap.wml; charset=gb2312"); //定義字元的編碼為GB2312 echo (""); echo ("你好"); echo (""); ?>

在程式的“header”語句中,定義了文字的編碼為GB2312,如果使用者的手機支援GB2312編碼,將會顯示“你好”的字樣。

作為未來網路通訊的主導,WAP程式的開發已日趨熱門。相信通過本文的閱讀,能使開發者對使用PHP進行WAP開發有一個初步的印象,希望廣大讀者能在本文的基礎上,參考WML語言,開發出更加強大的WAP應用程式。

相關問題答案