1.文件格式
首先要遇到的問題肯定是文件格式,在作web開發時,大家都是用的html或xhtml,到了wap開發時,就得用wml了.什么是wml?大家可以去查
更詳細的資料,我這里只是略微的提到.在我看來wml類似于xml,有非常嚴格的格式,在作wap頁面時,都得用wml來作為顯示.
wml的語法非常簡單,在用php作動態輸出時,一定要發送一個頭信息,標明本頁面是wml,而不是別的什么*ml.
header("Content-type: text/vnd.wap.wml; charset=\"gb2312\""); ?> |
header("Content-type: text/vnd.wap.wml; charset=\"utf-8\""); ?> |
/** * 類名: mobile * 描述: 手機信息類 * 其他: 偶然 編寫 */ class mobile { /** * 函數名稱: getPhoneNumber * 函數功能: 取手機號 * 輸入參數: none * 函數返回值: 成功返回號碼,失敗返回false * 其它說明: 說明 */ 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; } } /** * 函數名稱: getHttpHeader * 函數功能: 取頭信息 * 輸入參數: none * 函數返回值: 成功返回號碼,失敗返回false * 其它說明: 說明 */ function getHttpHeader() { $str = ''; foreach ($_SERVER as $key=>$val) { $gstr = str_replace("&","&",$val); $str.= "$key -> ".$gstr."\r\n"; } Return $str; } /** * 函數名稱: getUA * 函數功能: 取UA * 輸入參數: none * 函數返回值: 成功返回號碼,失敗返回false * 其它說明: 說明 */ function getUA() { if (isset($_SERVER['HTTP_USER_AGENT'])) { Return $_SERVER['HTTP_USER_AGENT']; } else { Return false; } } /** * 函數名稱: getPhoneType * 函數功能: 取得手機類型 * 輸入參數: none * 函數返回值: 成功返回string,失敗返回false * 其它說明: 說明 */ function getPhoneType() { $ua = $this->getUA(); if($ua!=false) { $str = explode(' ',$ua); Return $str[0]; } else { Return false; } } /** * 函數名稱: isOpera * 函數功能: 判斷是否是opera * 輸入參數: none * 函數返回值: 成功返回string,失敗返回false * 其它說明: 說明 */ function isOpera() { $uainfo = $this->getUA(); if (preg_match('/.*Opera.*/i',$uainfo)) { Return true; } else { Return false; } } /** * 函數名稱: isM3gate * 函數功能: 判斷是否是m3gate * 輸入參數: none * 函數返回值: 成功返回string,失敗返回false * 其它說明: 說明 */ function isM3gate() { $uainfo = $this->getUA(); if (preg_match('/M3Gate/i',$uainfo)) { Return true; } else { Return false; } } /** * 函數名稱: getHttpAclearcase/" target="_blank" >ccept * 函數功能: 取得HA * 輸入參數: none * 函數返回值: 成功返回string,失敗返回false * 其它說明: 說明 */ function getHttpAccept() { if (isset($_SERVER['HTTP_ACCEPT'])) { Return $_SERVER['HTTP_ACCEPT']; } else { Return false; } } /** * 函數名稱: getIP * 函數功能: 取得手機IP * 輸入參數: none * 函數返回值: 成功返回string * 其它說明: 說明 */ function getIP() { $ip=getenv('REMOTE_ADDR'); $ip_ = getenv('HTTP_X_FORWARDED_FOR'); if (($ip_ != "") && ($ip_ != "unknown")) { $ip=$ip_; } return $ip; } } ?> |
原文轉自:http://www.anti-gravitydesign.com