2013-03-15 22 views
0

我有一個codeigniter php應用程序。用戶填寫頁面,提交表格以供考慮。該表格允許用戶在提交時附加文件。有可以上傳的文件大小有5mb的限制。當用戶超出限制時,表單嘗試提交,但基本上自動重置/刷新,所以所有字段都是空白的,用戶必須重新輸入數據。php:提醒用戶上傳附件限制並仍然提交表單數據

如何/我應該做兩件事情:附件超過了限度 警告用戶允許和 提交表單數據,不包括附件

+0

將輸入的字段存儲在會話變量中,當文件上載太大時重定向時,將存儲的值作爲表單的默認值進行回顯。 – 2013-03-15 16:17:51

回答

0

如何可以/我應該做兩件事:提醒用戶附件已超出允許的限制並提交表格數據,不包括附件

這不能在PHP中完成 - 因爲當腳本運行時,上傳已經完成。

在HTML 3.2中有一個maxlength用於文件輸入,但在HTML 4.01中刪除了該文件。無論如何,瀏覽器支持都很糟糕。 (我不知道HTML5中的maxlength屬性是否適用於文件上傳字段。)

使用HTML5 File API可能是一種更有前途的方法(當然,只有現代瀏覽器)。使用它讀取所選文件的屬性相對簡單。因此,如果大小超過最大值,則只需從DOM中刪除文件上傳字段(或者簡單地將其設置爲disabled),如果您只想提交沒有文件上傳字段的表單的其餘部分。

0

試試這個,

if($_FILES["table_name"]["size"] > 5242880){ 
     echo 'File are too big'; 
     // do the rest of the submit 
} 
+0

該表單仍會嘗試提交,但會刷新並清空字段。 – user1176783 2013-03-21 16:17:35