用 JavaScript 判斷上傳檔案或圖片的檔案大小

如果你習慣使用 PHP 做為伺服器端的程式語言,在製做檔案上傳的時候,總是會碰到需要判斷檔案大小的情況,如果不判斷檔案大小有可能會發生超出伺服器限制的檔案,為了安全起見,上傳檔案前建議都先判斷好檔案大小比較好。

不過如果使用 PHP 來判斷檔案大小,其實蠻浪費主機資源的說,試想一個問題,如果網友上傳了一個 100GB 的圖片壓縮檔,而你是透過 PHP 來做判斷檔案大小,想必一定要先浪費頻寬把 100GB 的檔案傳到伺服器端,才能做後續的判斷,如果判斷出來檔案太大,所以不給上傳,那 100GB 的頻寬不就浪費了,而且主機處理 PHP 判斷也是花掉很多時間與資源。

其實有個很好的解決方案,那就是用 JavaScript 直接在用戶端(瀏覽器)判斷,如果判斷出來檔案太大,就直接告訴網友無法上傳,相反的,判斷出來沒問題,再開始讓網友上傳到你的主機,這樣與 PHP+JavaScript 的配置當然好很多。本來想要自己寫一篇用 JavaScript 判斷上傳檔案或圖片的檔案大小的介紹,不過剛好看到這篇介紹還不錯,寫得蠻詳細的。

[JavaScript] 在開始上傳前檢查圖片檔案大小
http://www.dotblogs.com.tw/cross/archive/2010/09/21/17840.aspx

瀏覽器原本的 JavaScript 似乎已經不支援直接判斷檔案大小,所以這個範例用到了 JQuery 的技巧。

延伸閱讀
PHP 上傳檔案與檔案類型判斷
© Copyright wibibi.com 網頁設計教學百科 基礎的網頁設計規劃、資料庫與程式設計 Since 2012