<dfn id="is4kg"></dfn>
  • <ul id="is4kg"></ul>
  • <abbr id="is4kg"></abbr>
  • <ul id="is4kg"></ul>
    <bdo id="is4kg"></bdo>
    以文本方式查看主題

    -  曙海教育集團論壇  (http://www.hufushizhe.com/bbs/index.asp)
    --  WAP平臺開發(fā)  (http://www.hufushizhe.com/bbs/list.asp?boardid=50)
    ----  php作wap開發(fā)時遇到的問題  (http://www.hufushizhe.com/bbs/dispbbs.asp?boardid=50&id=2151)

    --  作者:wangxinxin
    --  發(fā)布時間:2010-12-6 11:08:34
    --  php作wap開發(fā)時遇到的問題
    .文件格式IT我最牛-程序員的技術(shù)討論與分享園地B#B+t B1Y(G-tRN8P
    首先要遇到的問題肯定是文件格式,在作web開發(fā)時,大家都是用的html或xhtml,到了wap開發(fā)時,就得用wml了.什么是wml?大家可以去查更詳細(xì)的資料,我這里只是略微的提到.在我看來wml類似于xml,有非常嚴(yán)格的格式,在作wap頁面時,都得用wml來作為顯示.IT我最牛-程序員的技術(shù)討論與分享園地D-I6nQL9^)M

    1z%K4S I \\h}9s0wml的語法非常簡單,在用php作動態(tài)輸出時,一定要發(fā)送一個頭信息,標(biāo)明本頁面是wml,而不是別的什么*ml.IT我最牛-程序員的技術(shù)討論與分享園地#Xeu` b[AF L

    IT我最牛-程序員的技術(shù)討論與分享園地4ch8@C$X%t3usHh6G

    header("Content-type: text/vnd.wap.wml; charset=\\"gb2312\\"");
    &Qq_Y vhcu0?5A!l1Ek0?>IT我最牛-程序員的技術(shù)討論與分享園地} K:E$~S4}c

    IT我最牛-程序員的技術(shù)討論與分享園地 X G*h%] e.Qa&H

    這里用的字符集是gb2312,在移動的平臺上是沒有任何問題的,但在聯(lián)通的平臺上就不行了,一定得用utf-8,為了更通用,還是用utf-8更安全.即IT我最牛-程序員的技術(shù)討論與分享園地9Ycuv W6p)i8Gi

    IT我最牛-程序員的技術(shù)討論與分享園地ov(v h!E}y Y

    header("Content-type: text/vnd.wap.wml; charset=\\"utf-8\\"");
    0yR8~ I2F_:q0?>

    |n3b5?}+Y:gH0

    %Ih Pre\'t$RQ02.編碼IT我最牛-程序員的技術(shù)討論與分享園地"|,Rlb3_$np

    IT我最牛-程序員的技術(shù)討論與分享園地2? C D/X)eiV

    上面說了字符集都應(yīng)采用utf-8,這是一種容納了多國語言的字符集,一個漢字是占雙字節(jié),utf-8占了4個字節(jié),因此其容納的信息量更大.在手機上編寫的漢字,在將頁面內(nèi)碼轉(zhuǎn)成utf-8后,以后再打開就可能是一堆亂碼.因此大家在作注釋時,盡可能的用英文注釋,省得以后看不懂.像editplus,ultraedit等工具都可以轉(zhuǎn)文件內(nèi)碼.IT我最牛-程序員的技術(shù)討論與分享園地_7A*Ill|Py

    hv"i8}%Rp03.適配

    ,{F+kTW@@{0 IT我最牛-程序員的技術(shù)討論與分享園地:WXdHZvYD

    世界各大手機廠商真是有病,開發(fā)出的手機千奇百怪,可以支持的格式也是五花八門.比如鈴聲,有的可以支持,16,32,48和弦,支持mid,wmv,有的不完全支持;有的支持gif,png,bmp,有的也不完全支持.這雖然是把手機的檔次和成本拉開了,但卻苦了作手機開發(fā)的兄弟們了.因為不可避免的要對手機所能支持的圖片,鈴聲等多媒體信息作出一個匹配,這個匹配的處理,我們一般叫做手機適配.IT我最牛-程序員的技術(shù)討論與分享園地1D3fctS
    要作手機適配,我們一般得有如下資料.IT我最牛-程序員的技術(shù)討論與分享園地Oo*Ay?0g-\\2C

    )f5s+m\\Il F)Y01)一份詳細(xì)的手機適配資料表,里面應(yīng)詳細(xì)的說明手機所能支持的鈴聲,圖片格式,還得有手機型號等信息
    &eFc.tgT$z%d{02)要正確的獲取手機的UA,什么是UA,就是(user agent),實際上就是用戶的手機信息.IT我最牛-程序員的技術(shù)討論與分享園地L{hUvg4n#Q-A\'H

    #v-y#@ Ga0有了上面的東東我們才能做出適配.以下給出一個我寫的在wap開發(fā)中用到的類,可以用來取手機號,手機UA.IT我最牛-程序員的技術(shù)討論與分享園地7A*J^ SO

    TOvo:Bi(~0 /**IT我最牛-程序員的技術(shù)討論與分享園地;E&{(T5ROQcl?3F
    * 類名: mobile
    sh;FMa0* 描述: 手機信息類IT我最牛-程序員的技術(shù)討論與分享園地/a(GCL5s*ou x_
    * 其他: 偶然 編寫
    6q+jK/e9l"a1XR%l}*j0*/
    ;N\'x~P:N2s0class mobileIT我最牛-程序員的技術(shù)討論與分享園地&B&fgo2y8E
    {IT我最牛-程序員的技術(shù)討論與分享園地\'b\'l^H(a Pa
    /**IT我最牛-程序員的技術(shù)討論與分享園地k8S7Z)y Ps
    * 函數(shù)名稱: getPhoneNumberIT我最牛-程序員的技術(shù)討論與分享園地K.u$OOLJU2~
    * 函數(shù)功能: 取手機號IT我最牛-程序員的技術(shù)討論與分享園地I|c:z[Aj%cX
    * 輸入?yún)?shù): noneIT我最牛-程序員的技術(shù)討論與分享園地 M M Q%Z-G t_\'wX
    * 函數(shù)返回值: 成功返回號碼,失敗返回falseIT我最牛-程序員的技術(shù)討論與分享園地PtYmlM9@"v#P
    * 其它說明: 說明IT我最牛-程序員的技術(shù)討論與分享園地.s]iBj#SQ abi
    */IT我最牛-程序員的技術(shù)討論與分享園地r){ U5W-b9n/k
    function getPhoneNumber()
    M#~:N;jy1S/G"CZ0{
    .u W2N4w a}kX"i9r%ss{0if (isset($_SERVER[\'HTTP_X_NETWORK_INFO\']))IT我最牛-程序員的技術(shù)討論與分享園地2n5z S\\k3n)TK
    {
    OG8D6B7Tc0$str1 = $_SERVER[\'HTTP_X_NETWORK_INFO\'];
    4E| i h j"v*^oi0$getstr1 = preg_replace(\'/(.*,)(11[d])(,.*)/i\',\'\',$str1);
    \\4wQ#M,R0Return $getstr1;IT我最牛-程序員的技術(shù)討論與分享園地4mDq+y9MqYj
    }IT我最牛-程序員的技術(shù)討論與分享園地6r%uSc;R"C
    elseif (isset($_SERVER[\'HTTP_X_UP_CALLING_LINE_ID\']))
    } b8Ew.D JrV C6xP0{
    \\\'cO m4bJM0$getstr2 = $_SERVER[\'HTTP_X_UP_CALLING_LINE_ID\'];
    |h^{T0Return $getstr2;
    umW\\O3s$~0}
    5qPm z1e*A*BW0I^0elseif (isset($_SERVER[\'HTTP_X_UP_SUBNO\']))IT我最牛-程序員的技術(shù)討論與分享園地:S2my)RY5JKq6\\V
    {IT我最牛-程序員的技術(shù)討論與分享園地|#^A(}F4| _0F)w1Q
    $str3 = $_SERVER[\'HTTP_X_UP_SUBNO\'];IT我最牛-程序員的技術(shù)討論與分享園地7Q6DDk7yT5|
    $getstr3 = preg_replace(\'/(.*)(11[d])(.*)/i\',\'\',$str3);IT我最牛-程序員的技術(shù)討論與分享園地8{0s9gI%vN
    Return $getstr3;
    c4On"j6xN;m*I0}IT我最牛-程序員的技術(shù)討論與分享園地 m*[ x#\\1@ E)b c
    elseif (isset($_SERVER[\'DEVICEID\']))
    ;_9n y7HNp^5CY{H0{
    i`2Qv u fM0Return $_SERVER[\'DEVICEID\'];
    5ZT!pg&rj0}IT我最牛-程序員的技術(shù)討論與分享園地0TorKL:[Z
    elseIT我最牛-程序員的技術(shù)討論與分享園地P _6DbY6K(Uh
    {IT我最牛-程序員的技術(shù)討論與分享園地izRw p+h&u%i)q
    Return false;
    z0aK @&uUt3Y+e0}IT我最牛-程序員的技術(shù)討論與分享園地9j$i w6An7G4|
    }IT我最牛-程序員的技術(shù)討論與分享園地E6t(G^]F

    IT我最牛-程序員的技術(shù)討論與分享園地t_ T^h @8L\'W%U T

    /**IT我最牛-程序員的技術(shù)討論與分享園地L1| U Kn4J5VK
    * 函數(shù)名稱: getHttpHeader
    \'^I(tp S kiOv0* 函數(shù)功能: 取頭信息IT我最牛-程序員的技術(shù)討論與分享園地9Jzj,g`i_
    * 輸入?yún)?shù): none
    bH2J ^Y/c0* 函數(shù)返回值: 成功返回號碼,失敗返回false
    W2af\\ }L:Zn^x0* 其它說明: 說明
    ~oX?n\\1R0*/
    t@Su#t:b*| Ixw0function getHttpHeader()IT我最牛-程序員的技術(shù)討論與分享園地J}2M)ucnbCK
    {IT我最牛-程序員的技術(shù)討論與分享園地zb Wn0eH D6Q
    $str = \'\';
    2K$W[awOh*@6AS0foreach ($_SERVER as $key=>$val)IT我最牛-程序員的技術(shù)討論與分享園地2s9J\'T^H~\'t
    {IT我最牛-程序員的技術(shù)討論與分享園地1_(OSAA ^2|
    $gstr = str_replace("&","&",$val);IT我最牛-程序員的技術(shù)討論與分享園地\'tu)N/Z*]|
    $str.= "$key -> ".$gstr."\\rIT我最牛-程序員的技術(shù)討論與分享園地umtUII/vx:u[
    ";IT我最牛-程序員的技術(shù)討論與分享園地]R8NQ\'c G
    }
    TLiV)u0Return $str;IT我最牛-程序員的技術(shù)討論與分享園地%H3iF*gT2N
    }IT我最牛-程序員的技術(shù)討論與分享園地2UU#TkQ*ko

    Cl2I\\|tOy)DZ0/**
    )h MV+lt6uJ4iF0* 函數(shù)名稱: getUAIT我最牛-程序員的技術(shù)討論與分享園地r B u\'E!|(lsOl%v|
    * 函數(shù)功能: 取UA
    l\'X:s K:[?7`DB2u;]0* 輸入?yún)?shù): noneIT我最牛-程序員的技術(shù)討論與分享園地zTtnw
    * 函數(shù)返回值: 成功返回號碼,失敗返回falseIT我最牛-程序員的技術(shù)討論與分享園地}P8U {Zf:J*J
    * 其它說明: 說明IT我最牛-程序員的技術(shù)討論與分享園地lSL1rapp
    */IT我最牛-程序員的技術(shù)討論與分享園地1KP U5S$r"P&l
    function getUA()IT我最牛-程序員的技術(shù)討論與分享園地gS.zV+ex1oCS
    {
    H^L,G ~N6q T ~$y\'c.u0if (isset($_SERVER[\'HTTP_USER_AGENT\']))
    j Ac] Bow0{
    _ [}JS~3e/vW0Return $_SERVER[\'HTTP_USER_AGENT\'];
    5F9K3zeAr-U*w6K i$i4h0}
    (D5Wm\\H0t3Z9\\\'O.R0else
    r`9V-p^"E?-V9[0{IT我最牛-程序員的技術(shù)討論與分享園地!va$y5rA0V
    Return false;IT我最牛-程序員的技術(shù)討論與分享園地Mj8Ej+S0qH0s,D
    }
    7Pc2] Yx0}

    p_1H jNK1[S0

    k*GI,T(NJzN0/**
    n)_Y\'X5\\ J!r0* 函數(shù)名稱: getPhoneTypeIT我最牛-程序員的技術(shù)討論與分享園地\\0TBLe6~i1u
    * 函數(shù)功能: 取得手機類型
    .y viJJ _0* 輸入?yún)?shù): noneIT我最牛-程序員的技術(shù)討論與分享園地3Or7SXU{
    * 函數(shù)返回值: 成功返回string,失敗返回falseIT我最牛-程序員的技術(shù)討論與分享園地$L)aa\'j KO
    * 其它說明: 說明IT我最牛-程序員的技術(shù)討論與分享園地 fY wl;]M Q
    */IT我最牛-程序員的技術(shù)討論與分享園地-^2{+g4y\'J
    function getPhoneType()IT我最牛-程序員的技術(shù)討論與分享園地 onXU0Y I
    {IT我最牛-程序員的技術(shù)討論與分享園地8|x\\C N&Ep8_
    $ua = $this->getUA();IT我最牛-程序員的技術(shù)討論與分享園地F&I:Vvj&D$L
    if($ua!=false)
    !l!O/_r8k]\'n0{IT我最牛-程序員的技術(shù)討論與分享園地DL(v~!@+D"l }gZ
    $str = explode(\' \',$ua);IT我最牛-程序員的技術(shù)討論與分享園地;\\!Bc+sRg^6d
    Return $str[0];IT我最牛-程序員的技術(shù)討論與分享園地sabYa]$^O:Ui9d x5L
    }IT我最牛-程序員的技術(shù)討論與分享園地1PaOIw_3e
    elseIT我最牛-程序員的技術(shù)討論與分享園地$O/CR2g/WV
    {
    [nz(Rj0Return false;
    EE.},L6hIN6an0}
    0}1[V;u*d`0}

    !A-j!_L~b6hCm0 IT我最牛-程序員的技術(shù)討論與分享園地XF MQ[ A0aLX/T0\\

    /**
    n4R1u*s4@7P4c3B |3M0* 函數(shù)名稱: isOperaIT我最牛-程序員的技術(shù)討論與分享園地CE3NA`!i
    * 函數(shù)功能: 判斷是否是opera
    D)h x/uea0* 輸入?yún)?shù): none www.knowsky.com
    9Vu}KRn6Ai1lz0* 函數(shù)返回值: 成功返回string,失敗返回false
    TCh1w/A`S0* 其它說明: 說明
    +D}(H\'g$|YC B s0*/IT我最牛-程序員的技術(shù)討論與分享園地$`7y bLf%~
    function isOpera()
    @9`0L1V,d?a"G0{
    @^&}1G/p(e r$t\'jKm0$uainfo = $this->getUA();IT我最牛-程序員的技術(shù)討論與分享園地 Q j"U:O7a
    if (preg_match(\'/.*Opera.*/i\',$uainfo))
    U VD IzU w*i\'Y/TB0{IT我最牛-程序員的技術(shù)討論與分享園地SFAN|2g
    Return true;IT我最牛-程序員的技術(shù)討論與分享園地FICAA
    }IT我最牛-程序員的技術(shù)討論與分享園地 dw6Y9l(\\.z6bw
    else
    #Iv W1P H&wMY0{
    H2OIPyr/lB#x0Return false;
    4T-S} L+oN0}IT我最牛-程序員的技術(shù)討論與分享園地}Pcc9q \\7M$s\'R
    }

    ;[|!h/Rm]!P)~5\\SI0 IT我最牛-程序員的技術(shù)討論與分享園地i k$e5s)t2d{6C

    /**IT我最牛-程序員的技術(shù)討論與分享園地8I#{J T;N
    * 函數(shù)名稱: isM3gate
    /H%h?-hLG/S @Cw0* 函數(shù)功能: 判斷是否是m3gate
    !{f S,Ck;KZ0?0* 輸入?yún)?shù): noneIT我最牛-程序員的技術(shù)討論與分享園地qN{8Tl
    * 函數(shù)返回值: 成功返回string,失敗返回falseIT我最牛-程序員的技術(shù)討論與分享園地d&Jn1Z?J3nJ7l
    * 其它說明: 說明
    5h(B3ho6M1K0*/IT我最牛-程序員的技術(shù)討論與分享園地?a#xt e`$i#g
    function isM3gate()
    W!c A&y%f#L!`;@ }0{
    %y6{0Evu!k-S0$uainfo = $this->getUA();IT我最牛-程序員的技術(shù)討論與分享園地:^iIfx-TODw P
    if (preg_match(\'/M3Gate/i\',$uainfo))
    kQErE!DS*r8A0{
    } y)WJy NU;w\'N"]0Return true;
    L1z3I*QDqv%SJ0}IT我最牛-程序員的技術(shù)討論與分享園地[l@3l1M+ixi [#t


    主站蜘蛛池模板: 天天爽天天干天天操| 99久久无色码中文字幕人妻| 国产另类在线观看| 国产在线视频www色| 国产一级特黄aa级特黄裸毛片| 午夜精品在线视频| 亚洲色成人WWW永久网站| 亚洲国产日韩欧美在线as乱码| 久久精品无码一区二区日韩av| 中文字幕日韩视频| av无码免费永久在线观看| 麻豆网神马久久人鬼片| 美女张开腿黄网站免费| 波多野结衣33| 日韩在线视频二区| 少妇人妻偷人精品视频| 国产美女在线观看| 国产农村妇女精品一二区| 免费被靠视频动漫| 亚洲人成无码网www| 丰满上司的美乳| 99久久精品全部| 老少交欧美另类| 欧美高清视频www夜色资源| 日韩国产欧美在线观看| 川上优最新中文字幕不卡| 国产电影入口麻豆| 国产免费一区二区三区免费视频| 国产成人精品电影| 国产成人精品久久| 国产成人综合久久亚洲精品| 国产激情视频一区二区三区| 国产精品19p| 国产成人免费A在线视频| 国产成人yy免费视频| 国产aa免费视频| 国产一区二区精品久久凹凸| 免费羞羞视频网站| 免费中文字幕在线观看| 亚洲精品乱码久久久久久蜜桃不卡 | 久久噜噜噜久久亚洲va久|