ホームページ バックエンド開発 PHPチュートリアル Wap 開発に php を使用するときに発生する関連問題

Wap 開発に php を使用するときに発生する関連問題

Jun 13, 2016 pm 01:13 PM
false function http return server

wap 開発に php を使用するときに発生した問題
1. ファイル形式

Web 開発を行うとき、必ず最初に直面する問題はファイル形式です。WAP 開発に関しては、wml を使用する必要があります。詳細については、ここで簡単に説明しましたが、wml は xml に似ており、wap ページを作成する場合は、表示に wml を使用する必要があると考えています。 wml の構文は非常に単純です。動的出力に PHP を使用する場合、このページが他の *ml ではなく wml であることを示すヘッダー メッセージを送信する必要があります。

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

?>

ここで使用される文字セットは gb2312 です。モバイル プラットフォームでは問題ありません。 China Unicom のプラットフォームで動作するため、utf-8 を使用する必要があります。より汎用性を高めるには、

header("Content-type: text/vnd.wap) を使用する方が安全です。 . wml; charset="utf-8"");

?>

2. エンコーディング

文字セットはすべて utf- を使用する必要があると述べました。 8 では、これは複数の言語に対応する文字セットです。1 つの漢字は 2 バイトを占有し、UTF-8 は 4 バイトを占有するため、携帯電話で記述されたより多くの情報をページ内に収容できます。 UTF-8 に変換すると、今後開いたときに文字化けが発生する可能性がありますので、コメントを作成する際は、editplus、ultraedit、などのツールを使用して、できるだけ英語のコメントを使用するようにしてください。他のツールはファイルの内部コードを変換できます。

3. 適応

世界の大手携帯電話メーカーは、あらゆる種類の奇妙な携帯電話を開発し、さまざまなサポートを行っています。たとえば、一部の着信音は 16、32、48 コードをサポートしていますが、完全にはサポートしていないものもあります。ただし、gif、png、bmp をサポートしているものもあります。携帯電話の開発は、携帯電話がサポートできる画像、着信音、その他のマルチメディア情報を一致させることが避けられないため、一般に携帯電話の適応と呼ばれます。 🎜>
携帯電話の適応を行うには、通常、次の情報が必要です。

1) 携帯電話の適応データシート。これには、携帯電話の着信音と画像形式が詳細に記載されています。携帯電話がサポートできる情報、携帯電話のモデルやその他の情報

2) 携帯電話の UA を正しく取得するには、UA とは (ユーザー エージェント)、実際にはユーザーの携帯電話情報です。 🎜>
上記を使用してのみ、適応を行うことができます。 以下は、携帯電話番号と携帯電話 UA を取得するために使用できる、WAP 開発で使用されるクラスを作成します。 *

* クラス名: mobile

* 説明: 携帯電話情報クラス

* その他: 誤書き込み

*/

クラスモバイル

{

/**

* 関数名: getPhoneNumber

* 関数関数: 携帯電話番号の取得

* 入力パラメータ: なし

* 関数戻り値: 番号が正常に返されました、失敗すると 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

{

false を返す;

}

}

/**

* 関数名: getHttpHeader

* 関数関数: ヘッダー情報の取得

* 入力パラメーター: なし

* 関数戻り値: 正常に数値を返しました。失敗すると false が返されます

* その他の命令: 説明

*/

function getHttpHeader ()

{

$str = ''

foreach ($_SERVER as $key) =>$val)

{

$gstr = str_replace("&","&",$val);

$str.= "$key - > ".$gstr." ";

}

$str;

}

/**

* 関数名: getUA

* 関数関数: Get UA

* 入力パラメータ: なし

* 関数戻り値: 成功した場合は数値を返します。失敗した場合は false を返します

* その他の命令: 説明

*/

function getUA()

{

if (isset($_SERVER['HTTP_USER_AGENT']))

{

Return $_SERVER ['HTTP_USER_AGENT'];

}

else

{

Return false;

}

}

/**

* 関数名: getPhoneType

* 関数機能: 電話タイプを取得する

* 入力パラメータ: なし

* 関数戻り値: 文字列を正常に返します、失敗すると false が返されます

* その他の指示: 説明

*/

function getPhoneType()

{

$ua = $this->getUA();

if($ua!=false)

{

$str =explode(' ',$ua);

Return $str[0];

}

else

{

Return false;

}

}

/**

* 関数名: isOpera

* 関数の機能: opera であるかどうかを判断します

* 入力パラメータ: なし

* 関数の戻り値: 戻り値の文字列成功した場合、失敗した場合は false

* を返します。 その他の命令: 説明

。*/

関数isOpera()

{

$uainfo = $this->getUA();

if (preg_match('/.*Opera.*/i',$ uainfo))

{

Return true;

}

else

{

Return false;

}

}

/**

* 関数名: isM3gate

* 関数の機能: m3gate かどうかを判定

* 入力パラメータ: なし

* 関数の戻り値: 戻り値の文字列成功した場合、失敗した場合は false

* を返します。 その他の命令: 説明

。*/

関数 isM3gate()

{

$uainfo = $this->getUA();

if (preg_match('/M3Gate/i',$uainfo))

{

Return true;

}

else

{

Return false;

}

}

/ **

* 関数名: getHttpAccept

* 関数関数: Get HA

* 入力パラメータ: なし

* 関数戻り値: 成功時に文字列を返します。失敗時は false を返します

* その他の命令: 説明

*/

function getHttpAccept()

{

if (isset($_SERVER['HTTP_ACCEPT']))

{

Return $_SERVER['HTTP_ACCEPT'];

}

else

{

Return false;

}

}

/**

* 関数名: getIP

* 関数関数: 携帯電話の IP を取得

* 入力パラメータ: なし

* 関数戻り値: 戻り文字列
* その他の指示: 説明

*/

function getIP()

{

$ip=getenv ('REMOTE_ADDR');

$ip_ = getenv('HTTP_X_FORWARDED_FOR');

if (($ip_ != "") && ($ip_ != "unknown"))

{

$ip=$ip_;

}

return $ip;

}

}

?>

4.页面设计

作wap开発行時、wap页面是常简单的。比html来说是简单到再简单了。在wap1 .0里は表格のない乱七八糟の西の.すべての标签都は一枚のカードの标签内に書かれています。可用性があり、分割されています。 .模拟器

作wap开発免不了要各種各样的模拟器来试、比较好的有m3gate、openwave、opera、又有一叫winwap的、大家最好别他用来作测试、他的互換性大好了、即页面有错误都能给忽略掉。跟用浏览器测试ウェブ页面一样、输入网址就可了。これよりも簡単なことです。

6.注意事项

1)空格、特に定义DTD時、

echo "";

?>

里面如果哪个地方少个空格、就有你受的了。前写的候用了页面重排之後、把一部空格给干掉了、整整找了两天才找出错误来、大家千万别步我的後尘。

2)标签、如果标签不成对、会提案错误、大家注意就是了、很容易修正。
转自:http://www.wapkf.com/viewthread.php?tid=64&extra =ページ%3D1

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

http ステータス コード 520 は何を意味しますか? http ステータス コード 520 は何を意味しますか? Oct 13, 2023 pm 03:11 PM

HTTP ステータス コード 520 は、サーバーがリクエストの処理中に不明なエラーに遭遇し、より具体的な情報を提供できないことを意味します。サーバーがリクエストを処理しているときに不明なエラーが発生したことを示すために使用されます。サーバー構成の問題、ネットワークの問題、またはその他の不明な理由が原因である可能性があります。これは通常、サーバー構成の問題、ネットワークの問題、サーバーの過負荷、またはコーディング エラーが原因で発生します。ステータス コード 520 エラーが発生した場合は、Web サイト管理者またはテクニカル サポート チームに連絡して詳細情報と支援を得ることが最善です。

Windows サーバーのバックアップをインストール、アンインストール、リセットする方法 Windows サーバーのバックアップをインストール、アンインストール、リセットする方法 Mar 06, 2024 am 10:37 AM

WindowsServerBackup は、WindowsServer オペレーティング システムに付属する機能で、ユーザーが重要なデータとシステム構成を保護し、中小企業、エンタープライズ レベルの企業に完全なバックアップおよび回復ソリューションを提供できるように設計されています。この機能を使用できるのは、Server2022 以降を実行しているユーザーのみです。この記事では、WindowsServerBackup のインストール、アンインストール、またはリセットの方法を説明します。 Windows Server バックアップをリセットする方法 サーバー バックアップで問題が発生したり、バックアップに時間がかかりすぎたり、保存されているファイルにアクセスできない場合は、Windows Server バックアップ設定をリセットすることを検討してください。 Windowsをリセットするには

C言語のreturnの使い方を詳しく解説 C言語のreturnの使い方を詳しく解説 Oct 07, 2023 am 10:58 AM

C 言語における return の使い方は、 1. 戻り値の型が void の関数については、return 文を使用して関数の実行を早期に終了することができます; 2. 戻り値の型が void ではない関数については、 return ステートメントは、関数の実行を終了するためのものです。結果は呼び出し元に返されます。 3. 関数の実行を早期に終了します。関数内で return ステートメントを使用して、関数の実行を早期に終了することもできます。関数が値を返さない場合。

httpステータスコード403とは何ですか? httpステータスコード403とは何ですか? Oct 07, 2023 pm 02:04 PM

HTTP ステータス コード 403 は、サーバーがクライアントの要求を拒否したことを意味します。 http ステータス コード 403 の解決策は次のとおりです: 1. 認証資格情報を確認します。サーバーが認証を必要とする場合は、正しい資格情報が提供されていることを確認します。2. IP アドレス制限を確認します。サーバーが IP アドレスを制限している場合は、クライアントの IP アドレスは制限されています。ホワイトリストに登録されているか、ブラックリストに登録されていません。3. ファイルのアクセス許可設定を確認します。403 ステータス コードがファイルまたはディレクトリのアクセス許可設定に関連している場合は、クライアントがこれらのファイルまたはディレクトリにアクセスするための十分なアクセス許可を持っていることを確認してください。等

Web ページのリダイレクトの一般的なアプリケーション シナリオを理解し、HTTP 301 ステータス コードを理解する Web ページのリダイレクトの一般的なアプリケーション シナリオを理解し、HTTP 301 ステータス コードを理解する Feb 18, 2024 pm 08:41 PM

HTTP 301 ステータス コードの意味を理解する: Web ページ リダイレクトの一般的なアプリケーション シナリオ インターネットの急速な発展に伴い、Web ページの操作に対する人々の要求はますます高くなっています。 Web デザインの分野では、Web ページのリダイレクトは一般的かつ重要なテクノロジであり、HTTP 301 ステータス コードによって実装されます。この記事では、HTTP 301 ステータス コードの意味と、Web ページ リダイレクトにおける一般的なアプリケーション シナリオについて説明します。 HTTP301 ステータス コードは、永続的なリダイレクト (PermanentRedirect) を指します。サーバーがクライアントのメッセージを受信すると、

HTTP 200 OK: 成功した応答の意味と目的を理解する HTTP 200 OK: 成功した応答の意味と目的を理解する Dec 26, 2023 am 10:25 AM

HTTP ステータス コード 200: 成功した応答の意味と目的を調べる HTTP ステータス コードは、サーバーの応答のステータスを示すために使用される数値コードです。このうち、ステータス コード 200 は、リクエストがサーバーによって正常に処理されたことを示します。この記事では、HTTP ステータス コード 200 の具体的な意味と使用法について説明します。まず、HTTP ステータス コードの分類を理解しましょう。ステータス コードは、1xx、2xx、3xx、4xx、5xx の 5 つのカテゴリに分類されます。このうち、2xx は成功応答を示します。 200 は 2xx で最も一般的なステータス コードです

Nginx プロキシ マネージャーを使用して HTTP から HTTPS への自動ジャンプを実装する方法 Nginx プロキシ マネージャーを使用して HTTP から HTTPS への自動ジャンプを実装する方法 Sep 26, 2023 am 11:19 AM

NginxProxyManager を使用して HTTP から HTTPS への自動ジャンプを実装する方法 インターネットの発展に伴い、ますます多くの Web サイトが HTTPS プロトコルを使用してデータ送信を暗号化し、データ セキュリティとユーザーのプライバシー保護を向上させ始めています。 HTTPS プロトコルは SSL 証明書のサポートを必要とするため、HTTPS プロトコルを展開する際には特定の技術サポートが必要です。 Nginx は強力で一般的に使用される HTTP サーバーおよびリバース プロキシ サーバーであり、NginxProxy

クイックアプリケーション: PHP 複数ファイルの非同期 HTTP ダウンロードの実践的な開発事例分析 クイックアプリケーション: PHP 複数ファイルの非同期 HTTP ダウンロードの実践的な開発事例分析 Sep 12, 2023 pm 01:15 PM

クイック アプリケーション: PHP の実践的な開発ケース分析 複数ファイルの非同期 HTTP ダウンロード インターネットの発展に伴い、ファイル ダウンロード機能は多くの Web サイトやアプリケーションの基本的なニーズの 1 つになりました。複数のファイルを同時にダウンロードする必要があるシナリオでは、従来の同期ダウンロード方法は非効率的で時間がかかることがよくあります。このため、PHP を使用して HTTP 経由で複数のファイルを非同期にダウンロードするソリューションがますます一般的になってきています。この記事では、実際の開発事例を通して、PHP 非同期 HTTP の使用方法を詳しく分析します。

See all articles