線上服務(wù)咨詢
Article/文章
記錄成長(zhǎng)點(diǎn)滴 分享您我感悟
您當(dāng)前位置>首頁(yè) > 知識(shí) > 網(wǎng)站建設(shè)
使用PHP編程語(yǔ)言
發(fā)表時(shí)間:2019-07-30 16:42:50
文章來(lái)源:沈陽(yáng)軟件開發(fā)
標(biāo)簽:網(wǎng)站建設(shè) 小程序開發(fā) 小程序制作 微信小程序開發(fā) 公眾號(hào)開發(fā) 微信公眾號(hào)開發(fā) 網(wǎng)頁(yè)設(shè)計(jì) 網(wǎng)站優(yōu)化 網(wǎng)站排名 網(wǎng)站設(shè)計(jì) 微信小程序設(shè)計(jì) 小程序定制 微信小程序定制
瀏覽次數(shù):0
開發(fā)動(dòng)態(tài)WAP頁(yè)面 WAP(無(wú)線通信協(xié)議)是一種開放的全球標(biāo)準(zhǔn)協(xié)議,用于數(shù)字移動(dòng)電話,個(gè)人手持設(shè)備(PDA等)和計(jì)算機(jī)之間的通信。隨著無(wú)線通信的不斷發(fā)展,靜態(tài)WAP頁(yè)面無(wú)法在很多方面滿足用戶的個(gè)性化需求,因此開發(fā)人員可以使用PHP等語(yǔ)言在WAP服務(wù)器上生成動(dòng)態(tài)WML頁(yè)面,以滿足用戶的需求。
WAP的應(yīng)用結(jié)構(gòu)與互聯(lián)網(wǎng)非常相似。典型的WAP應(yīng)用程序請(qǐng)求步驟描述如下:
1.具有WAP用戶代理功能的移動(dòng)終端(例如WAP移動(dòng)電話)通過(guò)內(nèi)部運(yùn)行的微瀏覽器向網(wǎng)站發(fā)送WAP服務(wù)請(qǐng)求。該請(qǐng)求首先由WAP網(wǎng)關(guān)攔截,并且對(duì)信息內(nèi)容進(jìn)行編碼和壓縮以減少網(wǎng)絡(luò)數(shù)據(jù)流量,并且根據(jù)需要將WAP協(xié)議轉(zhuǎn)換為HTTP協(xié)議。
2.協(xié)議將處理后的請(qǐng)求轉(zhuǎn)發(fā)到相應(yīng)的WAP服務(wù)器。在WAP服務(wù)器端,根據(jù)頁(yè)面擴(kuò)展等屬性,所請(qǐng)求的頁(yè)面直接或在被服務(wù)器端腳本解釋后,然后通過(guò)網(wǎng)關(guān)輸出給用戶。
從上述WAP應(yīng)用程序過(guò)程可以發(fā)現(xiàn),生成動(dòng)態(tài)WAP頁(yè)面與動(dòng)態(tài)生成網(wǎng)頁(yè)的過(guò)程非常相似。但是,由于WAP應(yīng)用程序使用的WML語(yǔ)言是從嚴(yán)格的XML派生的,因此必須根據(jù)WAP網(wǎng)頁(yè)的規(guī)范輸出需要輸出的格式。同時(shí),由于WAP協(xié)議的應(yīng)用范圍和移動(dòng)客戶端的軟硬件配置的限制,對(duì)要輸出的頁(yè)面大小,圖像的格式和容量存在一定的限制。在本文中,作者將以PHP語(yǔ)言為例,討論與大多數(shù)網(wǎng)絡(luò)程序開發(fā)人員動(dòng)態(tài)輸出WAP頁(yè)面的方法和應(yīng)用。
輸出一個(gè)簡(jiǎn)單的動(dòng)態(tài)WAP頁(yè)面
由于生成WAP頁(yè)面的過(guò)程與生成通用網(wǎng)頁(yè)非常相似,因此作者通過(guò)最簡(jiǎn)單的WAP頁(yè)面示例介紹了它。但提醒一下:因?yàn)樾枰狿HP解釋器來(lái)解釋程序并輸出WAP頁(yè)面,所有類似的程序都應(yīng)該有擴(kuò)展名“php”。
此示例可以在WAP手機(jī)模擬器中瀏覽,并輸出經(jīng)典的“Hello WAP”語(yǔ)句,但在普通的Web瀏覽器中無(wú)法識(shí)別。原因很簡(jiǎn)單。輸出文檔在程序開頭聲明為WML類型。只有WAP設(shè)備才能識(shí)別和解釋。但是,我必須提醒您,常見的HTML語(yǔ)言并不嚴(yán)格遵守規(guī)范要求。大多數(shù)瀏覽器可以“容忍”接受寫入錯(cuò)誤,但WML規(guī)范非常嚴(yán)格,任何錯(cuò)誤都可能導(dǎo)致無(wú)法輸出所需的頁(yè)面。
實(shí)例1 動(dòng)態(tài)生成圖像
WAP使用的圖像是特殊的黑白圖像格式:WBMP。開發(fā)人員可以使用一些現(xiàn)有工具將常規(guī)圖像轉(zhuǎn)換為WBMP格式,然后在WML文檔中使用它們。但是,如果可以在WAP程序中動(dòng)態(tài)生成所需圖像(例如股票市場(chǎng)的K線圖表),該程序?qū)⒕哂袠O其廣泛的應(yīng)用前景。 PHP提供強(qiáng)大的圖形渲染功能,以下示例將在WAP模擬器中顯示黑色矩形。
(注意:要使用GD的圖像庫(kù),必須在PHP配置中加載“PHP_GD.DLL”庫(kù)文件。)
<phpheader('Content-type: text/vnd.wap.wml'); //將輸出文檔定義為WML類型echo(''); echo('Hello WAP'); echo('');>實(shí)例2 處理漢字
作為一種全球應(yīng)用協(xié)議,WAP選擇UNICODE 2.0作為其標(biāo)準(zhǔn)字符集編碼,可以同時(shí)處理英語(yǔ),中文,日語(yǔ),法語(yǔ)和其他文本。但是,開發(fā)人員每天處理的中文字符是GB2312代碼。不同的內(nèi)部代碼標(biāo)準(zhǔn)不得普及。因此,如果在兩個(gè)代碼之間不執(zhí)行代碼轉(zhuǎn)換,則會(huì)出現(xiàn)中文亂碼現(xiàn)象。目前大多數(shù)WAP手機(jī)(Nokia7110,Ericsson R320S等)都是使用UTF-8(即UNICODE)編碼的。如果在WML中直接使用中文字符(GB2312編碼),會(huì)產(chǎn)生亂碼,這會(huì)使手機(jī)用戶無(wú)法識(shí)別。因此,在輸出中文之前必須使用程序或函數(shù)。 (這種PHP函數(shù)庫(kù),網(wǎng)絡(luò)上有很多技術(shù)。成熟的產(chǎn)品可以下載)UNICODE編碼中文。在一些支持GB2312編碼的手機(jī)或WAP終端設(shè)備中,開發(fā)人員只需要在程序中定義文檔的內(nèi)部代碼類型,然后直接正確顯示漢字,參見例子:
<php header('Content-type: text/vnd.wap.wml; charset=gb2312'); //定義字符的編碼是GB2312echo(''); echo('你好'); echo('');>在程序的“header”語(yǔ)句中,文本的編碼定義為GB2312。如果用戶的手機(jī)支持GB2312編碼,則會(huì)顯示“hello”字樣。
作為未來(lái)網(wǎng)絡(luò)通信的領(lǐng)導(dǎo)者,WAP程序的發(fā)展越來(lái)越受歡迎。我相信通過(guò)閱讀本文,開發(fā)人員可以初步了解如何使用WAP進(jìn)行WAP開發(fā)。我希望讀者可以基于本文基于WML語(yǔ)言開發(fā)更強(qiáng)大的WAP應(yīng)用程序。
網(wǎng)站建設(shè),小程序開發(fā),小程序制作,微信小程序開發(fā),公眾號(hào)開發(fā),微信公眾號(hào)開發(fā),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站優(yōu)化,網(wǎng)站排名,網(wǎng)站設(shè)計(jì),微信小程序設(shè)計(jì),小程序定制,微信小程序定制