ページ
WAP (ワイヤレス通信プロトコル) は、デジタル携帯電話、個人用ハンドヘルド デバイス (PDA など)、およびコンピュータ間の通信のためのオープンな世界標準です。静的な WAP ページは多くの点でユーザーのパーソナライズされたサービス要求に応えることができないため、WAP サーバー側言語を通じて生成される動的な WML ページには幅広い応用価値と高い商業的価値があります。 ″); of F Y h:i:s A'' ); ″);
WAP アプリケーションの構造はインターネットと非常によく似ています。典型的な WAP アプリケーションのリクエストは次のとおりです。 まず、WAP ユーザー エージェント機能を備えたモバイル端末 (WAP 携帯電話など) が、内部で実行されているマイクロ ブラウザーを通じて特定の Web サイトをリクエストします。 . WAP サービス リクエストをワイヤレスで送信します。リクエストはまず WAP ゲートウェイによってインターセプトされ、情報コンテンツがエンコードおよび圧縮されてネットワーク データ トラフィックが削減されます。同時に、必要に応じて WAP プロトコルが HTTP プロトコルに変換され、処理されたリクエストが対応するプロトコルに転送されます。 WAPサーバー。 WAP サーバー側では、ページ拡張子やその他のプロパティに基づいて、要求されたページが直接出力されるか、サーバー側スクリプトによって解釈された後に、ゲートウェイ経由でユーザーに送信されます。
上記のWAPアプリケーションプロセスから、動的なWAPページを生成するプロセスは、Webページを動的に生成するプロセスと非常によく似ていることがわかります。ただし、WAP アプリケーションで使用される WML 言語は厳密な構文を持つ XML から派生しているため、出力形式は WAP Web ページの仕様に従って出力する必要があります。同時に、WAP プロトコルの適用範囲とモバイル クライアントのソフトウェアおよびハードウェア レベルにより、毎回のページ出力のサイズ、画像の形式と容量に一定の制限があります。 PHP スクリプト言語を例として、WAP ページを動的に出力する方法を見てみましょう。
1. WEB サーバーをセットアップする
まず、PHP スクリプトを処理できるように、Web サーバーに PHP がインストールされている必要があります。次に、Web サーバーが PHP、WML、WBMP、およびその他のファイルを同時に認識して処理できるようにするには、次のファイル タイプを Web サーバーの MIME テーブルに追加する必要があります。
text/vnd.wap.wml .wml
image/vnd.wap.wbmp .wbmp
application/vnd.wap.wmlc .wmlc
text/vnd.wap.wmls.wmls
application/vnd.wap.wmlsc 。 wmlsc
2. PHP を使用して、単純な動的 WAP ページを出力します
これは、PHP が WAP ページを生成する最も単純な例です。このプログラムを解釈して WAP ページを出力するには PHP インタープリターが必要であるため、同様のプログラムはすべて .php 拡張子を持つ必要があることに注意してください。
header(″Content-type: text/vnd.wap.wml″);
echo (″
echo (''
?> この例は、WAP 携帯電話シミュレーターで表示できます。 . 現在の日時が出力されるため、通常のブラウザでは認識できず、ダウンロードエラーとみなされる場合もあります。これは、出力ドキュメントがプログラムの先頭で WML タイプとして宣言されており、このタイプは WAP デバイスによってのみ認識および解釈できるためです。私たちの一般的な HTML 言語には厳格な規範要件がなく、ほとんどのブラウザーはかなり多くの書き込みエラーを「許容」できますが、WML の仕様は非常に厳格であり、1 つの間違いによって必要なページが表示できなくなる可能性があることに注意してください。出力される。
PHP スクリプトを使用して WAP ページを出力する標準的なプロセスを理解したら、PHP の強力な機能と WML 言語の対話型処理および WML スクリプトの単純なスクリプトを使用して、ニーズに合ったアプリケーション システムを開発できます。
3. PHP を使用して画像を動的に生成します
WAP アプリケーションは特別な白黒画像形式 WBMP を使用します。いくつかのツールを使用して既存の画像を WBMP 形式に変換し、WML ドキュメントで使用できます。しかし、K線図などの必要な画像をWAPサイト上で動的に生成できれば応用の可能性は広がります。幸いなことに、PHP の GD ライブラリ (バージョン 1.8 以降) は、対応する関数をすでに提供しています。 ? & Lt;? PHP
ヘッダー ('' コンテンツタイプ: Image/VND.WAP.WBMP ''); A sblack = ImageColoraLOCate (SIM ,0,0,0); ImageRectangle(Sim, 5, 5, 20, 20, Sblack);
ImageWBMP(Sim);
?> このファイルは、黒い長方形のボックスに表示されます。 GD のイメージ関数ライブラリを使用するには、PHP_GD.DLL ライブラリ ファイルが PHP 構成にロードされている必要があることに注意してください。
IV. PHP での中国語の文字の処理
グローバル アプリケーションとして、WAP は英語、中国語、日本語、フランス語などを含む複数のテキストを同時に処理できるように、標準の文字セット エンコーディングとして UNICODE 2.0 を選択しました。通常、中国語の文字を処理するには GB2312 エンコードを使用します。異なる内部コード規格には互換性がないため、コード テーブルが 2 つのエンコード間で変換されないと、文字化けが発生します。 GB-2312 および UNICODE エンコード変換用の比較的成熟したプログラムと関数がすでに存在しており、それらは ASP、PHP、JSP などのシステムで使用されており、いくつかのテクノロジー サイトで見つけることができます。
現在のほとんどの WAP 携帯電話 (Nokia7110、Ericsson R320S など) は UTF-8 エンコーディングを使用します。つまり、エンコーディングには UNICODE が使用されます。このように、WML で中国語の文字 (GB2312 エンコード) を直接使用すると、携帯電話ユーザーが認識できない文字化けが発生するため、中国語を出力する前に、中国語を UNICODE でエンコードするプログラムまたは関数を使用する必要があります。 。 GB2312 エンコーディングをサポートする少数の携帯電話または WAP 端末デバイスでは、プログラムでドキュメントの内部コード タイプを定義した後、中国語の文字を直接かつ正確に表示できます。たとえば、次のようになります。
header(''コンテンツタイプ: text/vnd.wap.wml;
echo (″
echo (″