ホームページ  >  記事  >  バックエンド開発  >  php_PHPチュートリアルでのWAPページの記述例を詳しく解説

php_PHPチュートリアルでのWAPページの記述例を詳しく解説

WBOY
WBOYオリジナル
2016-07-13 17:41:21843ブラウズ

WAP (ワイヤレス通信プロトコル) は、デジタル携帯電話、個人用ハンドヘルド デバイス (PDA など)、およびコンピュータ間の通信のためのオープンな世界標準です。静的な WAP ページは多くの点でユーザーのパーソナライズされたサービス要求に応えることができないため、WAP サーバー側言語を通じて生成される動的な WML ページには幅広い応用価値と高い商業的価値があります。

WAP アプリケーションの構造はインターネットとよく似ています。典型的な WAP アプリケーションのリクエストは次のとおりです。 まず、WAP ユーザー エージェント機能を備えたモバイル端末 (WAP 携帯電話など) が、内部で実行されているマイクロ ブラウザを通じて特定の Web サイトをリクエストします。 . WAP サービス リクエストをワイヤレスで送信します。リクエストはまず WAP ゲートウェイによってインターセプトされ、情報コンテンツがエンコードおよび圧縮されてネットワーク データ トラフィックが削減されます。同時に、必要に応じて WAP プロトコルが HTTP プロトコルに変換され、処理されたリクエストが対応するプロトコルに転送されます。 WAPサーバー。 WAP サーバー側では、ページ拡張子やその他のプロパティに基づいて、要求されたページが直接出力されるか、サーバー側スクリプトによって解釈された後に、ゲートウェイ経由でユーザーに送信されます。

上記のWAPアプリケーションプロセスから、動的なWAPページを生成するプロセスは、Webページを動的に生成するプロセスと非常によく似ていることがわかります。ただし、WAP アプリケーションで使用される WML 言語は厳密な構文の XML から派生しているため、出力形式は WAP Web ページの仕様に従って出力する必要があります。同時に、WAP プロトコルの適用範囲とモバイル クライアントのソフトウェアおよびハードウェア レベルにより、毎回のページ出力のサイズ、画像の形式と容量に一定の制限があります。 PHP スクリプト言語を例として、WAP ページを動的に出力する方法を見てみましょう。

1. WEB サーバーをセットアップします
まず第一に、Web サーバーには PHP がインストールされている必要があります。つまり、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 date(''l dS of F Y h:i:s A'' );
echo (''

'');
?>

この例は、WAP 携帯電話シミュレーターで表示できます。 . 現在の日時が出力されるため、通常のブラウザでは認識できず、ダウンロードエラーとみなされる場合もあります。これは、出力ドキュメントがプログラムの先頭で WML タイプとして宣言されており、このタイプは WAP デバイスによってのみ認識および解釈できるためです。私たちの一般的な HTML 言語には厳格な規範要件がなく、ほとんどのブラウザーはかなり多くの書き込みエラーを「許容」できますが、WML の仕様は非常に厳格であり、1 つの間違いが必要なデータを出力できない可能性があることに注意してください。ページ。

PHP スクリプトを使用して WAP ページを出力する標準的なプロセスを理解したら、PHP の強力な機能と WML 言語の対話型処理および WML スクリプトの単純なスクリプトを使用して、ニーズに合ったアプリケーション システムを開発できます。

3. PHP を使用して画像を動的に生成します
WAP アプリケーションは、特別な白黒画像形式 WBMP を使用します。いくつかのツールを使用して既存の画像を WBMP 形式に変換し、WML ドキュメントで使用できます。しかし、K線図などの必要な画像をWAPサイト上で動的に生成できれば応用の可能性は広がります。幸いなことに、PHP の GD ライブラリ (バージョン 1.8 以降) は、対応する関数をすでに提供しています。

Header(″Content-type: image/vnd.wap.wbmp″);
Sim = ImageCreate(50, 50);
Swhite = ImageColorAllocate(Sim,255,255,255);
Sblack = ImageColorAllocate(Sim) ,0,0,0);
ImageRectangle(Sim, 5, 5, 20, 20, Sblack);
ImageWBMP(Sim);
?>

ファイルはWAPシミュレーターに表示されます。黒い長方形の箱。 GD のイメージ関数ライブラリを使用するには、PHP_GD.DLL ライブラリ ファイルを PHP 構成にロードする必要があることに注意してください。

4. 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(''Content- type: text/vnd.wap.wml; charset=gb2312″);
echo (″

″);
echo (“中国語テスト”);
echo (″ /p> ;'');
?>

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/486159.html技術記事 WAP (ワイヤレス通信プロトコル) は、デジタル携帯電話、個人用ハンドヘルド デバイス (PDA など)、およびコンピュータ間の通信のためのオープンな世界標準です。静的な WAP ページには多くの側面があるため...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。