日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

php作wap開(kāi)發(fā)時(shí)遇到的問(wèn)題

瀏覽:167日期:2024-02-02 08:48:47

選擇自 slamdunk3 的 Blog

1.文件格式首先要遇到的問(wèn)題肯定是文件格式,在作web開(kāi)發(fā)時(shí),大家都是用的html或xhtml,到了wap開(kāi)發(fā)時(shí),就得用wml了.什么是wml?大家可以去查更詳細(xì)的資料,我這里只是略微的提到.在我看來(lái)wml類(lèi)似于xml,有非常嚴(yán)格的格式,在作wap頁(yè)面時(shí),都得用wml來(lái)作為顯示.

wml的語(yǔ)法非常簡(jiǎn)單,在用php作動(dòng)態(tài)輸出時(shí),一定要發(fā)送一個(gè)頭信息,標(biāo)明本頁(yè)面是wml,而不是別的什么*ml.

header('Content-type: text/vnd.wap.wml; charset='gb2312'');?>

這里用的字符集是gb2312,在移動(dòng)的平臺(tái)上是沒(méi)有任何問(wèn)題的,但在聯(lián)通的平臺(tái)上就不行了,一定得用utf-8,為了更通用,還是用utf-8更安全.即

header('Content-type: text/vnd.wap.wml; charset='utf-8'');?>

2.編碼

上面說(shuō)了字符集都應(yīng)采用utf-8,這是一種容納了多國(guó)語(yǔ)言的字符集,一個(gè)漢字是占雙字節(jié),utf-8占了4個(gè)字節(jié),因此其容納的信息量更大.在手機(jī)上編寫(xiě)的漢字,在將頁(yè)面內(nèi)碼轉(zhuǎn)成utf-8后,以后再打開(kāi)就可能是一堆亂碼.因此大家在作注釋時(shí),盡可能的用英文注釋,省得以后看不懂.像editplus,ultraedit等工具都可以轉(zhuǎn)文件內(nèi)碼.

3.適配

世界各大手機(jī)廠(chǎng)商真是有病,開(kāi)發(fā)出的手機(jī)千奇百怪,可以支持的格式也是五花八門(mén).比如鈴聲,有的可以支持,16,32,48和弦,支持mid,wmv,有的不完全支持;有的支持gif,png,bmp,有的也不完全支持.這雖然是把手機(jī)的檔次和成本拉開(kāi)了,但卻苦了作手機(jī)開(kāi)發(fā)的兄弟們了.因?yàn)椴豢杀苊獾囊獙?duì)手機(jī)所能支持的圖片,鈴聲等多媒體信息作出一個(gè)匹配,這個(gè)匹配的處理,我們一般叫做手機(jī)適配.要作手機(jī)適配,我們一般得有如下資料.

1)一份詳細(xì)的手機(jī)適配資料表,里面應(yīng)詳細(xì)的說(shuō)明手機(jī)所能支持的鈴聲,圖片格式,還得有手機(jī)型號(hào)等信息2)要正確的獲取手機(jī)的UA,什么是UA,就是(user agent),實(shí)際上就是用戶(hù)的手機(jī)信息.

有了上面的東東我們才能做出適配.以下給出一個(gè)我寫(xiě)的在wap開(kāi)發(fā)中用到的類(lèi),可以用來(lái)取手機(jī)號(hào),手機(jī)UA.

/*** 類(lèi)名: mobile* 描述: 手機(jī)信息類(lèi)* 其他: 偶然 編寫(xiě)*/class mobile{/*** 函數(shù)名稱(chēng): getPhoneNumber* 函數(shù)功能: 取手機(jī)號(hào)* 輸入?yún)?shù): none* 函數(shù)返回值: 成功返回號(hào)碼,失敗返回false* 其它說(shuō)明: 說(shuō)明*/function getPhoneNumber(){if (isset($_SERVER['HTTP_X_NETWORK_INFO'])){$str1 = $_SERVER['HTTP_X_NETWORK_INFO'];$getstr1 = preg_replace('/(.*,)(11[d])(,.*)/i','',$str1);Return $getstr1;}elseif (isset($_SERVER['HTTP_X_UP_CALLING_LINE_ID'])){$getstr2 = $_SERVER['HTTP_X_UP_CALLING_LINE_ID'];Return $getstr2;}elseif (isset($_SERVER['HTTP_X_UP_SUBNO'])){$str3 = $_SERVER['HTTP_X_UP_SUBNO'];$getstr3 = preg_replace('/(.*)(11[d])(.*)/i','',$str3);Return $getstr3;}elseif (isset($_SERVER['DEVICEID'])){Return $_SERVER['DEVICEID'];}else{Return false;}}

/*** 函數(shù)名稱(chēng): getHttpHeader* 函數(shù)功能: 取頭信息* 輸入?yún)?shù): none* 函數(shù)返回值: 成功返回號(hào)碼,失敗返回false* 其它說(shuō)明: 說(shuō)明*/function getHttpHeader(){$str = '';foreach ($_SERVER as $key=>$val){$gstr = str_replace('&','&',$val);$str.= '$key -> '.$gstr.'rn';}Return $str;}

/*** 函數(shù)名稱(chēng): getUA* 函數(shù)功能: 取UA* 輸入?yún)?shù): none* 函數(shù)返回值: 成功返回號(hào)碼,失敗返回false* 其它說(shuō)明: 說(shuō)明*/function getUA(){if (isset($_SERVER['HTTP_USER_AGENT'])){Return $_SERVER['HTTP_USER_AGENT'];}else{Return false;}}

/*** 函數(shù)名稱(chēng): getPhoneType* 函數(shù)功能: 取得手機(jī)類(lèi)型* 輸入?yún)?shù): none* 函數(shù)返回值: 成功返回string,失敗返回false* 其它說(shuō)明: 說(shuō)明*/function getPhoneType(){$ua = $this->getUA();if($ua!=false){$str = explode(' ',$ua);Return $str[0];}else{Return false;}}

/*** 函數(shù)名稱(chēng): isOpera* 函數(shù)功能: 判斷是否是opera* 輸入?yún)?shù): none www.mypchelp.cn* 函數(shù)返回值: 成功返回string,失敗返回false* 其它說(shuō)明: 說(shuō)明*/function isOpera(){$uainfo = $this->getUA();if (preg_match('/.*Opera.*/i',$uainfo)){Return true;}else{Return false;}}

/*** 函數(shù)名稱(chēng): isM3gate* 函數(shù)功能: 判斷是否是m3gate* 輸入?yún)?shù): none* 函數(shù)返回值: 成功返回string,失敗返回false* 其它說(shuō)明: 說(shuō)明*/function isM3gate(){$uainfo = $this->getUA();if (preg_match('/M3Gate/i',$uainfo)){Return true;}else{Return false;}}

/*** 函數(shù)名稱(chēng): getHttpAccept* 函數(shù)功能: 取得HA* 輸入?yún)?shù): none* 函數(shù)返回值: 成功返回string,失敗返回false* 其它說(shuō)明: 說(shuō)明*/function getHttpAccept(){if (isset($_SERVER['HTTP_ACCEPT'])){Return $_SERVER['HTTP_ACCEPT'];}else{Return false;}}

/*** 函數(shù)名稱(chēng): getIP* 函數(shù)功能: 取得手機(jī)IP* 輸入?yún)?shù): none* 函數(shù)返回值: 成功返回string* 其它說(shuō)明: 說(shuō)明*/function getIP(){$ip=getenv('REMOTE_ADDR');$ip_ = getenv('HTTP_X_FORWARDED_FOR');if (($ip_ != '') && ($ip_ != 'unknown')){$ip=$ip_;}return $ip;}}?>

4.頁(yè)面設(shè)計(jì)

作wap開(kāi)發(fā)時(shí),wap頁(yè)面是非常簡(jiǎn)單的.比html來(lái)說(shuō)是簡(jiǎn)單到不能再簡(jiǎn)單了.在wap1.0里是沒(méi)有表格之類(lèi)的亂七八糟的東西的.所有的標(biāo)簽都是寫(xiě)在一個(gè)叫card的標(biāo)簽之內(nèi).可以用來(lái)分段.所以做頁(yè)面的算是輕松了.

5.模擬器

作wap開(kāi)發(fā)免不了要用各式各樣的模擬器來(lái)測(cè)試,比較好的有m3gate,openwave,opera,還有一個(gè)叫winwap的,大家最好別用他來(lái)作測(cè)試,他的兼容性太好了,即使頁(yè)面有錯(cuò)誤都能給忽略掉.測(cè)試時(shí)跟用瀏覽器測(cè)試web頁(yè)面一樣,輸入網(wǎng)址就可以了.沒(méi)有比這更容易的事了.

6.注意事項(xiàng)

1)空格,特別是在定義DTD時(shí),

echo '';?>

里面如果哪個(gè)地方少個(gè)空格,就有你受的了.以前寫(xiě)的時(shí)候用了頁(yè)面重排之后,把一些空格給干掉了,整整找了兩天才找出錯(cuò)誤來(lái),大家千萬(wàn)別步我的后塵.

2)標(biāo)簽,如果標(biāo)簽不成對(duì),會(huì)提示錯(cuò)誤,大家注意就是了,很容易修正.

標(biāo)簽: PHP
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
午夜亚洲一区| 欧美一区二区三区免费看| 丝袜美腿高跟呻吟高潮一区| 精品久久美女| 国产亚洲观看| 国产精品av一区二区| 国产精品一区二区三区av| 五月亚洲婷婷 | 激情五月色综合国产精品| 麻豆精品视频在线| 欧美日韩18| 日韩高清不卡在线| 亚洲精品欧洲| 亚洲综合中文| 亚洲深深色噜噜狠狠爱网站 | 日韩欧美三区| 亚洲欧洲日韩| 国产二区精品| 一区在线观看| 噜噜噜躁狠狠躁狠狠精品视频 | 国产一区久久| 激情婷婷久久| 亚洲天堂久久| 国产高潮在线| 福利在线一区| 美女一区网站| 欧美成人a交片免费看| 国产91欧美| 黑人精品一区| 伊伊综合在线| 久久在线免费| 91成人精品视频| 宅男噜噜噜66国产日韩在线观看| 女人天堂亚洲aⅴ在线观看| 亚洲大片在线| 午夜久久福利| 亚洲综合中文| 久久狠狠久久| 国产欧美日韩精品一区二区三区| 国产精品久久久久久久免费软件| 国产欧美三级| 欧美交a欧美精品喷水| 国产高清精品二区| 成人免费一区| 精品美女久久| 丁香六月综合| 99久久亚洲精品蜜臀| 激情欧美一区| 日韩中文字幕av电影| 欧美在线看片| 红杏一区二区三区| 日本少妇一区| 国产手机视频一区二区| 米奇777超碰欧美日韩亚洲| 美女91精品| 91精品一区| 麻豆精品在线观看| 日本不良网站在线观看| 一级欧洲+日本+国产| 亚洲精品美女| 国产欧美69| 日韩啪啪电影网| 亚洲综合三区| 欧美另类中文字幕 | 国产激情在线播放| 欧美日韩国产高清电影| 久久国产精品久久w女人spa| 日韩三级精品| 久久99青青| 999国产精品视频| 欧美中文日韩| 国产精品成人自拍| 亚洲福利一区| 无码日韩精品一区二区免费| 精品视频亚洲| 国产综合精品一区| 中文精品电影| 欧美激情一区| 在线精品福利| 精品视频一区二区三区四区五区| 精品精品99| www.51av欧美视频| 亚洲性图久久| 日本不卡视频在线| 久久uomeier| 国产视频一区三区| 国产劲爆久久| 午夜国产欧美理论在线播放| 国产乱人伦精品一区| 999精品色在线播放| 7m精品国产导航在线| 日韩久久精品网| 亚久久调教视频| 免费看av不卡| 久久亚洲风情| 精品亚洲a∨| 五月天久久777| 欧美激情麻豆| 中文一区一区三区免费在线观 | 亚洲va久久| 精品一区二区三区中文字幕| 国产亚洲精品v| 精品视频一区二区三区在线观看| 香蕉久久久久久久av网站| 欧美一区成人| 一区二区视频欧美| 中文一区一区三区高中清不卡免费| 亚洲精品高潮| 色老板在线视频一区二区| 爽好久久久欧美精品| 国产成人a视频高清在线观看| 在线亚洲激情| 精品一区不卡| 日韩高清二区| 日韩亚洲精品在线| www在线观看黄色| 国产欧美一区二区色老头| 国产精品嫩草99av在线| 精品一区二区三区视频在线播放| 亚洲精品少妇| 天堂а√在线最新版中文在线| 日本成人手机在线| 亚洲欧洲高清| 在线看片福利| 欧美日韩一区自拍| 日本伊人午夜精品| 日韩精品免费观看视频| 亚洲精品一级| 日韩av一区二区三区四区| 欧美日韩亚洲一区| 欧美黄页在线免费观看| 久久精品国内一区二区三区| 精品黄色一级片| 成人污污视频| 国产精品精品国产一区二区| 亚洲涩涩在线| 激情综合网址| 蜜桃传媒麻豆第一区在线观看| 亚洲另类黄色| 性色一区二区| 日韩精品第一| 国产精品久久久久久久久久白浆| 国产精品巨作av| 国精品产品一区| 日韩久久电影| 最新亚洲一区| 91国内精品| 国产精品22p| 亚洲涩涩在线| 丝袜亚洲另类欧美| 91精品美女| 国产精品久久久久久久久久10秀| 欧美成人精品三级网站| 在线视频观看日韩| 模特精品在线| 国产精品视频一区二区三区| 日韩不卡一区| 91精品一区国产高清在线gif | 黑丝一区二区三区| 中文字幕亚洲影视| 欧美一区在线观看视频| 久久尤物视频| 亚洲电影在线| 奇米狠狠一区二区三区| 91成人在线精品视频| 精品国产美女a久久9999| 亚洲一级二级| 日本麻豆一区二区三区视频| 91视频一区| 国产日韩综合| 国产精品hd| 一区在线免费| 国产精品红桃| 美女网站一区| 国产精品一区2区3区| 亚洲黑丝一区二区| 久久精品99国产精品| 久久精品欧美一区| 日本va欧美va瓶| 亚洲精品国产嫩草在线观看| 免费在线观看不卡| 日韩免费高清| 日本午夜免费一区二区| 欧美日韩精品在线一区| 欧美一级一区| 国模 一区 二区 三区| 欧美精品不卡| 亚洲一区久久| 色欧美自拍视频| 日韩影院在线观看| 久久久久久一区二区| 日韩中文字幕在线一区| 欧美日韩在线二区| 国产精品v亚洲精品v日韩精品| 欧美日韩激情| 欧美成人精品一级| 免费人成在线不卡| 天堂网av成人| 精品国产精品国产偷麻豆| 日韩精品一卡二卡三卡四卡无卡|