国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > PHP > 正文

WAP與PHP程序設(shè)計(jì)之基礎(chǔ)篇

2024-05-04 23:03:58
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
  wap的發(fā)展離不開(kāi)其www的底蘊(yùn),畢竟,整個(gè)wap協(xié)議的制定參照了www的模型,并且盡可能地沿用了internet的諸多標(biāo)準(zhǔn)和技術(shù),如wml語(yǔ)言脫胎于html與xml,wmlscript與傳統(tǒng)的腳本語(yǔ)言也很相似。的確,wap雖然是個(gè)新名詞,但是它卻與傳統(tǒng)的國(guó)際互聯(lián)網(wǎng)密不可分地結(jié)合著,在結(jié)構(gòu)上如此,在技術(shù)上更是如此。
  
  在wap協(xié)議中提到wap頁(yè)面所使用的標(biāo)記語(yǔ)言為wml,當(dāng)需要進(jìn)行較高級(jí)的操作,如使用終端機(jī)的某些資源時(shí),可以使用wmlscript腳本語(yǔ)言,這兩種語(yǔ)言很簡(jiǎn)單,甚至可以用簡(jiǎn)陋來(lái)形容,特別是它們對(duì)數(shù)據(jù)庫(kù)的操作幾乎無(wú)能為力,這種"缺陷"與wap廣闊的商務(wù)和應(yīng)用前景格格不入,但我們并不是無(wú)能為力的,由于wap和www的交融,我們?nèi)匀豢梢允褂脀ww的技術(shù)與資源來(lái)解決數(shù)據(jù)庫(kù)的訪問(wèn)問(wèn)題,因?yàn)楫吘苟鄶?shù)數(shù)據(jù)庫(kù)仍處于有線網(wǎng)絡(luò)內(nèi)。
  
  目前最流行的網(wǎng)頁(yè)編程語(yǔ)言和數(shù)據(jù)庫(kù)的搭配是什么?相信很多人會(huì)說(shuō)出"php"與"mysql"這兩個(gè)名字。它們屬于www或者有線互聯(lián)網(wǎng)的范疇,由于使用方便與功能強(qiáng)大的特點(diǎn)而美名傳播,那么它們能夠?yàn)閣ap服務(wù)嗎?答案是肯定的。不熟悉wap或者php的人或許有些不解,畢竟在傳統(tǒng)意義上php提供的是www的內(nèi)容與服務(wù),對(duì)于wap,它們能"兼容"嗎?

  php粗解

  看了wap的介紹,大家應(yīng)該開(kāi)始逐步理解php為何仍能為wap服務(wù)了。php與html、wml、javascript、java都不一樣,它是在服務(wù)器端運(yùn)行的,而javascript、java等都運(yùn)行在瀏覽器端,相對(duì)于wap,wmlscript運(yùn)行于客戶機(jī)端,但是,以上的這些語(yǔ)言都可以很容易與php結(jié)合起來(lái)。   

  php具有很大的靈活性,在www中,它可以生成所需要的任何html代碼,甚至javascript代碼。同樣,在wap中,我們?nèi)匀豢梢岳胮hp這種動(dòng)態(tài)、靈活的特點(diǎn),生成任意的wml代碼,這樣,php自然能夠?yàn)閣ap服務(wù)。   
  
  之所以使用php來(lái)提供wap服務(wù),除了它靈活的特點(diǎn)外,還由于php可以方便的使用數(shù)據(jù)庫(kù)。用戶可以使用php存取oracle、sybase、ms sql、mysql、dbase、informix等任何支持odbc標(biāo)準(zhǔn)的數(shù)據(jù)庫(kù),這點(diǎn)正好迎合了wap商務(wù)的需求。   

  在實(shí)用中,一般需要建立php文件,當(dāng)用戶向服務(wù)器發(fā)出瀏覽該php文件的請(qǐng)求時(shí),服務(wù)器將根據(jù)文件中的代碼產(chǎn)生相應(yīng)的html或wml內(nèi)容,并發(fā)送給瀏覽器或wap終端。   
  如想獲取關(guān)于php的信息,可以前往http://www.php.com查看。

  php-wml

  php的系統(tǒng)平臺(tái)、工作方式、安裝方法,這些都不在本文的討論范圍內(nèi),畢竟我們的重點(diǎn)是php如何與wap協(xié)作。一般而言,為了能讓php工作,我們需要帶有php模塊的web服務(wù)器,或者說(shuō)支持php的服務(wù)器,apache是世界上最流行的web服務(wù)器,另外,我們還需要安裝php軟件以及如mysql這樣的數(shù)據(jù)庫(kù),具體內(nèi)容可以查閱相關(guān)書籍或網(wǎng)站。下面我們討論如何讓php產(chǎn)生wml代碼。
  
  在www中,php產(chǎn)生的第一行內(nèi)容往往是: content-type: text/html
  
  但是,wap終端是讀不懂這樣的標(biāo)題的。wap終端從服務(wù)器下載的單位是deck,瀏覽的單位是card,一般一個(gè)deck就組成一個(gè)wml文件。那么,為wap服務(wù)時(shí),php文件中往往需要包含如下的代碼:

  header("content-type:text/vnd.wap.wml");
  echo "<xml version=/"1.01">/n"
  echo"<! doctype wml public /"-//wapforum//dtd wml 1.1//en/"/"http://www.wapforum.org//dtd//wml_1.1.xml/">/n";

  以上三行代碼產(chǎn)生了wml文件(deck)的文件頭,這樣wap終端就可以識(shí)別所下載的deck是否wml格式,并且接著顯示余下的deck內(nèi)容。
  
  下面是一個(gè)最簡(jiǎn)單的deck,它在wap終端上顯示"hello world"。

 <?xml version="1.0" encoding="iso-8859-1"?> <! doctype wml public "-//wapforum//dtd wml 1.1//en" "http://www.wapforum.org//dtd//wml_1.1.xml">
  </xml>
  <!--nokia parser info:phone = nokia 7110; height = 90; width = 130; currentdecksize = 38; maxdecksize = 1600; cardsoneachline = 5; cardsverticalgap = 30-->
  </card id="card1" ordered="true" newcontext="false">
  <p align="left">
  hello world
  </p>
  </card>
  </wml>

  我們建立的相應(yīng)的php文件如下:

  <?php
  header("content-type:text/vnd.wap.wml");
  echo "<?xml version=/"1.0/">/n";
  echo "<!doctype wml public /"-//wapforum//dtd wml 1.1//en/" /"http://www.wapforum.org//dtd//wml_1.1.xml/">/n";
  echo "/n";
  echo "<!--nokia parser info: phone = nokia 7110; height = 90; width = 130; currentdecksize = 38; maxdecksize = 1600; cardsoneachline = 5; cardsverticalgap = 30-->/n";
  echo "<card id=/"card1/" ordered=/"true/" newcontext=/"false/"> ";
  echo "<p align=/"left/">/n";
  echo "hello world";
  echo "</p>";
  echo "</card>";
  echo "</wml>";
  ?>

  我們可以將該文件存為index.php3,當(dāng)wap終端瀏覽該網(wǎng)站時(shí),web服務(wù)器會(huì)自動(dòng)根據(jù)index.php3的內(nèi)容產(chǎn)生如上所列的wml內(nèi)容,并發(fā)送給網(wǎng)關(guān)進(jìn)行處理。wap終端收到該deck后,將會(huì)在顯示屏上顯示"hello world"的字樣。
  
  以上是關(guān)于php在wap中最簡(jiǎn)單的應(yīng)用,它只是簡(jiǎn)單地產(chǎn)生若干行wml代碼,并沒(méi)有牽扯到數(shù)據(jù)庫(kù)的訪問(wèn)。其實(shí),php強(qiáng)大的功能可以為wap提供很豐富的服務(wù),而最值得挖掘的就是其強(qiáng)大的數(shù)據(jù)庫(kù)支持,這些將在以后的文章中討論。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 东城区| 汉中市| 博乐市| 疏勒县| 壤塘县| 博湖县| 元氏县| 来凤县| 天水市| 抚顺市| 漳浦县| 利津县| 马尔康县| 庆云县| 阜宁县| 崇礼县| 探索| 平南县| 华安县| 龙胜| 布拖县| 综艺| 栖霞市| 井冈山市| 石嘴山市| 慈溪市| 明水县| 天门市| 苍山县| 封开县| 安阳县| 云浮市| 颍上县| 页游| 石阡县| 凤冈县| 祁连县| 新巴尔虎右旗| 凭祥市| 汾西县| 公主岭市|