PHP+FLASH實現上傳檔案進度條相關檔案 下載_php技巧
來源:互聯網
上載者:User
PHP之所以很難實現上傳進度條是因為在我們上傳檔案到伺服器的時候,要等到檔案全部送到伺服器之後,才執行相應的php檔案。在這之前,檔案資料儲存在一個臨時檔案裡面,而php無法獲得這個檔案的路徑及大小。
從Actionscript 2.0開始,Flash支援檔案上傳及下載了。雖然不能在服務端獲得檔案上傳進度,但我們可以在服務端獲得檔案的發送進度。根據這個原理,用Flash就能做出上傳進度條效果。
我在網上看到過一些資料,但是感覺有缺陷。於是自己研究了一下,在前人的基礎上加強了程式的安全性和健壯性,並且增加了一些可自訂的參數。
說明:如果你的電腦安裝了防火牆軟體,那麼可能會看到進度條一下就100%的情況。這是因為進度條顯示的是flash把檔案傳給防火牆軟體的速度!防火牆還要再將資料傳到伺服器。
示範請點擊這裡
本程式是Longbill 根據網上相關資料改進而成的
http://www.longbill.cn
Email: longbill.cn@gmail.com
調用參數說明(假設本flash名字為 upload.swf):
將flash檔案的調用地址寫成:
upload.swf?maxsize=[單個檔案最大體積]&bgcolor=[進度條顏色]
&limit=[限制上傳檔案類型]&savefile=[上傳對象檔案]
[單個檔案最大體積]:【可選】【數字】(單位為 KB)
[進度條顏色]: 【可選】【六位十六進位數字】【預設為隨機顏色】(沒有#的16位顏色值)
[限制上傳檔案類型]: 【可選】格式如: limit=zip|rar|doc
[上傳對象檔案]: 【預設為save.php】【字串】
例如:
upload.swf?maxsize=2048&bgcolor=FF00FF&limit=jpg|gif|png&savefile=upsave.php
打包檔案下載