2012-05-14 37 views
0

我有一個導入文件頁面,其中有一個帶有文件輸入元素的窗體,當用戶單擊提交時,它將使用JSON文檔將文件發送到使用PHP讀取文件並對其進行處理的URL,然後將數據插入MySQL數據庫。如何使用PHP/jQuery處理上傳的文件?

我的問題是,在導入頁面(面向用戶的界面)上處理導入功能的最佳方式是什麼?我可以使用的技術有:用於導入文件頁面的jQuery的Javascript,以及用於服務器端處理的api的Codeigniter PHP。

到目前爲止,我讀過推薦使用iframe或HTML5 File Api的解決方案的人員。有創建文件上傳功能的更好/更安全/更簡單的方法嗎?

回答

2

至於可用性,對於最新的瀏覽器,我建議使用拖放&拖放上傳功能(這真的很酷!)與老式瀏覽器的「老式」ajax文件傳輸回退,這是基於閃存。

看看這個jQuery插件,例如: http://blueimp.github.com/jQuery-File-Upload/

至於安全,我會建議去檢查文件的MIME類型,如果有可能(如果你有PHP的FileInfo擴展名)與PHP。不幸的是,我不熟悉Codeigniter(我使用ZF),但我確定Codeigniter具有文件的過濾器/校驗器。

表單驗證在CI:

http://codeigniter.com/forums/viewthread/74624/#898858

http://keighl.com/post/codeigniter-file-upload-validation

+1

我沒有與任何您所提供的鏈接去,但我沒去拖放阿賈克斯。我用這個代碼大部分引用。 http://www.html5rocks.com/en/tutorials/file/dndfiles/ – user594044