PDA

View Full Version : Kiểm tra dung lượng file khi upload



cuipap
12-06-2010, 10:43
Mình xin đề ra 1 vấn đề liên quan đến upload file: Kiểm tra dung lượng file khi upload.

Theo mình hiểu: khi submit, file tự động được upload lên thư mục tạm của server, sau đó mình mới check được filesize và đưa ra thông báo lỗi về browser. Như vậy lỡ user submit 1 file quá lớn (ví dụ 1GB) thì fải đợi rất lâu, dẫn đến timeout trước khi thấy được thông báo lỗi.

Vậy có cách nào check được filesize ngay tại browser để đưa ra báo lỗi ngay, tránh được quá trình upload tạm lên server?

Hoặc mình có nghĩ tới 1 cách là làm sao upload lên từng phần nhỏ của file và check filesize liên tục, khi tổng dung lượng đang upload vừa vượt qua kích thước giới hạn thì stop và đưa ra thông báo lỗi luôn, không phải bị timeout. Với PHP thì làm cách này được ko nhỉ?

Xin ý kiến các cao thủ ạ.

thuyduongcd
12-06-2010, 10:49
Nếu file vượt quá max_file_size trong cấu hình thì hệ thống tự sinh lỗi rồi còn gì mà timeout

honnhienh
12-06-2010, 11:23
hình như không đâu bạn. khi mà uplen thì nó up finish mới check error trong $_File['name']['error']. chỉ có cái img thì có hàm lấy size trước up thì phải. mình cũng từng thử cái này nhưng chưa đặt được câu hỏi như bác này. Nhưng mà trước mình có đọc sách thì bạn có thể dùng javascript check cái này. nhưng chú ý tới các trình duyệt. ban thử tham khảo plug của jquery coi. mình thấy rất nhiều plug hỗ trợ upload file.