by Bryan Mattern 一木 翻譯
以上就介紹了flashsolediter.exe 用Flash圖形化資料一,包括了flashsolediter.exe方面的內容,希望對PHP教程有興趣的朋友有所幫助。
SWF和Flash簡介
SWF是Macromedia Flash用來在Internet上傳送圖片、動畫和聲音的檔案格式使用者。 Flash是你能夠提供使用者一個豐富的、動態的介面。大約90%的網路使用者不用安裝瀏覽器插件就可以瀏覽SWF內容,超過2億人下載了Flash播放器。 Macromedia在1998年4月公開了SWF規格。在PHP4中加入SWF的支持。
PHP內建的動態產生圖片的能力是吸引我的特色。它可以產生看起來更專業更讓人舒服的報表和介面。一開始,我用充斥在網路上的各種GD程式碼來建立圖片來顯示我的不同項目的資料。但我很快就被產生的圖片的不確定搞煩了,決定試試看能不能用向量圖形來解決問題。我想你也會同意,結果看起來好多了。如果一個圖片能代表一千個字,想像一下一幅Flash動畫代表什麼?
我將盡量讓這個例子簡單一些,只說說基礎的東西。我的目的只是創建一個容納GD生成的GIF和PNG圖片的Drog in。你可以加入對它的擴展和增強,例如Flash賴以出名的各種視覺效果。例如,你可以製作在載入頁面時的圖形淡入、飛舞,或是動態的顯示幾片雪花。你的想像力是PHP的SWF函數的唯一限制。
怎樣取得需要圖形化的資料最好留給讀者去練習。因為這篇文章是關於動態建立Flash檔案的,我將在範例中使用一個假想的表格作為資料集來建立它的圖形化視圖。你需要檢查你的數據,決定採用最適合的圖表形式。在多數情況下,圓餅圖是適當的選擇,這也是我的例子要採用的圖表形式。折線圖、長條圖或面積圖都可以用相似的方式建立。
在這個例子中,假定我們把一些包裹送到了幾個城市,而我們要看看每個城市收到的包裹所佔的比例。我們決定把資料儲存在資料庫「world」的表格「city」中。讓我們先建立這個表,並輸入這個範例所需的資料。
#
# Table structure for table 'city'
#
DROP TABLE IF EXISTS city;
CREATE TABLE city (
city_name varchar(255) NOT NULL,
city_timestamp timestamp(14),
PRIMARY KEY (city_id)
);
#
#
for 'ing data
for🎜> for 'ing'); 🎜>INSERT INTO city VALUES( '1', 'London', '20000917122625');
INSERT INTO city VALUES( '2', 'London', '20000917122626')
INSERT INTO city VAESaris '5'5', ' 20000917122631');
INSERT INTO city VALUES( '6', 'Paris', '20000917122632');
INSERT INTO city VALUES( '7', 'New York', '2000694',7064'); INSERT INTO city VALUES( '8', 'New York', '20000917122645');
INSERT INTO city VALUES( '9', 'New York', '20000917122646');
10', 'New York', '20000917122646');
INSERT INTO city VALUES( '11', 'New York', '20000917122647');
INSERT INTO city VAES( '12' ', '20000917122654');
設定你的系統以使用SWF
我使用的環境是RedHat Linux6.2, Apache 1.3.12, PHP 4.0.2()編譯為Apache Linux6.2, Apache 1.3.12, PHP 4.0.2(為Apacheache模組)。如果你在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發布版本的時候,這兩個檔案會被解壓縮到同一個目錄。你需要把這兩個文件移到正確的位置。完成後,目錄結構應該像下面的樣子:
/usr/local/swf/
/include/
🎜> libswf.a
/fonts
...
為了讓SWF函數能正常運作,你需要複製/usr/local/swf/fonts/目錄,以便web伺服器能存取該目錄(對apache和mod_php來說,最好的辦法就是使用絕對路徑,並把以上目錄複製到apache的文檔根目錄下。)另外,在libswf的發布版本中有一個很小的c程序,能夠把類型1的字體轉換成Flash能用的字體。
因為我們要動態地建立和寫入SWF文件,所以web伺服器需要在儲存文件的目錄中有寫入權限。