by Bryan Matten 一木翻译
SWF と Flash の紹介
SWF は、インターネット上のユーザーに画像、アニメーション、サウンドを配信するために Macromedia Flash で使用されるファイル形式です。 Flash を使用すると、リッチで動的なインターフェイスをユーザーに提供できます。 Web ユーザーの約 90% はブラウザ プラグインをインストールせずに SWF コンテンツを閲覧でき、2 億人以上が Flash プレーヤーをダウンロードしています。 Macromedia は 1998 年 4 月に SWF 仕様をリリースしました。 SWF サポートを PHP4 に追加します。
画像を動的に生成する PHP の組み込み機能は、私にとって魅力的な機能です。よりプロフェッショナルで快適なレポートとインターフェイスを生成できます。最初は、Web 上に散らばるさまざまな GD コードを使用して、さまざまなプロジェクトのデータを表示する画像を作成しました。しかし、私はすぐに、生成された画像の不確実性にイライラし、ベクター グラフィックスを使用して問題を解決できないか試してみることにしました。同意していただけると思いますが、結果ははるかに良くなりました。一枚の絵が千の言葉を表すことができるとしたら、Flash アニメーションが何を表すかを想像してみてください。
この例はできるだけシンプルにして、基本的なことのみについて説明します。私の目的は、GD によって生成された GIF および PNG 画像を保持する Drog を作成することだけです。 Flash で有名なさまざまな視覚効果などの拡張機能を追加できます。たとえば、グラフィックをフェードインしたり、ページの読み込み時に踊ったり、いくつかの雪の結晶を動的に表示したりできます。 PHP の SWF 関数を制限できるのはあなたの想像力だけです。
グラフ化する必要があるデータを取得する方法は、演習として読者に任せるのが最善です。この記事は Flash ファイルの動的作成に関するものであるため、例では架空のテーブルをデータ セットとして使用して、そのグラフィカル ビューを作成します。データを調べて、どのグラフ形式が最も適切かを判断する必要があります。ほとんどの場合、円グラフが適切な選択であり、これが私の例で使用するグラフ形式です。折れ線グラフ、縦棒グラフ、または面グラフも同様の方法で作成できます。
この例では、いくつかの荷物を複数の都市に送り、各都市で受け取った荷物の割合を確認したいとします。データをデータベース「world」のテーブル「city」に保存することにしました。まずテーブルを作成し、この例に必要なデータを入力しましょう。
#
# テーブル 'city' のテーブル構造
#
DROP TABLE IF EXISTS city;
CREATE TABLE city (
city_id int(14) NOT NULL auto_increment,
city_name varchar(255) NOT NULL,
city_timestamp timestamp(14) ,
PRIMARY KEY (city_id)
);
#
# テーブル 'city' のデータをダンプします
#
INSERT INTO city VALUES( '1', 'London', '20000917122625');
INSERT INTO city VALUES( '2) ', 'ロンドン', '20000917122626');
都市の値を挿入('3', 'ロンドン', '20000917122626');
都市の値を挿入('4', 'ロンドン', '20000917122627') ;
INSERT INTO city VALUES( '5', 'Paris', '20000917122631');
INSERT INTO city VALUES( '6', 'Paris', '20000917122632');
INSERT INTO city VALUES( '7', 'New York) ', '20000917122644');
都市の値を挿入('8', 'ニューヨーク', '20000917122645');
都市の値を挿入('9', 'ニューヨーク', '20000917122646');ティントイントcity VALUES( '10', 'ニューヨーク', '20000917122646');
都市値に挿入('11', 'ニューヨーク', '20000917122647');
都市値に挿入('12', '香港 ', '20000917122654');
SWF を使用するようにシステムを設定します
私が使用する環境は、RedHat Linux6.2、Apache 1.3.12、PHP 4.0.2 (Apache モジュールとしてコンパイルされています) です。 Windows で PHP を使用している場合は、状況が少し異なります。 Flash DLL をダウンロードまたはコンパイルする必要がありますが、コードを変更する必要はありません。
PHP は、Paul Haeberli の libswf モジュールを通じて Shockwave Flash ファイルを作成する機能を提供します。 http://reality.sgi.com/grafica/flash/ から libswf をダウンロードする必要があります。次に、オプション --with-swf[=DIR] を使用して PHP を設定する必要があります。DIR は、include ディレクトリと lib ディレクトリが配置されているディレクトリです。 include ディレクトリに swf.h ファイルが存在し、lib ディレクトリに libswf.a ファイルが存在する必要があります。ダウンロードした libswf ディストリビューションを解凍すると、これら 2 つのファイルが同じディレクトリに解凍されます。これら 2 つのファイルを正しい場所に移動する必要があります。完了後のディレクトリ構造は次のようになります:
/usr/local/sWF/
/
/
SWF.H
/lib/
libswf.a
/fonts
...
により SWF 機能が動作できるようになります。通常、Web サーバーがアクセスできるように /usr/local/swf/fonts/ ディレクトリをコピーする必要があります (Apache と mod_php の場合、最良の方法は絶対パスを使用し、上記のディレクトリを Apache のドキュメント ルートにコピーすることです) 。) さらに、libswf のリリース バージョンには、Type 1 フォントを Flash で使用できるフォントに変換できる小さな C プログラムがあります。
SWF ファイルを動的に作成して書き込む必要があるため、Web サーバーにはファイルが保存されているディレクトリへの書き込み権限が必要です。
上記では、Flash を使用してグラフィカル データを作成する flashsolediter.exe の内容を紹介しました。PHP チュートリアルに興味のある友人の参考になれば幸いです。