我有一個codeigniter php應用程序。用戶填寫頁面,提交表格以供考慮。該表格允許用戶在提交時附加文件。有可以上傳的文件大小有5mb的限制。當用戶超出限制時,表單嘗試提交,但基本上自動重置/刷新,所以所有字段都是空白的,用戶必須重新輸入數據。php:提醒用戶上傳附件限制並仍然提交表單數據
如何/我應該做兩件事情:附件超過了限度 警告用戶允許和 提交表單數據,不包括附件
我有一個codeigniter php應用程序。用戶填寫頁面,提交表格以供考慮。該表格允許用戶在提交時附加文件。有可以上傳的文件大小有5mb的限制。當用戶超出限制時,表單嘗試提交,但基本上自動重置/刷新,所以所有字段都是空白的,用戶必須重新輸入數據。php:提醒用戶上傳附件限制並仍然提交表單數據
如何/我應該做兩件事情:附件超過了限度 警告用戶允許和 提交表單數據,不包括附件
如何可以/我應該做兩件事:提醒用戶附件已超出允許的限制並提交表格數據,不包括附件
這不能在PHP中完成 - 因爲當腳本運行時,上傳已經完成。
在HTML 3.2中有一個maxlength
用於文件輸入,但在HTML 4.01中刪除了該文件。無論如何,瀏覽器支持都很糟糕。 (我不知道HTML5中的maxlength
屬性是否適用於文件上傳字段。)
使用HTML5 File API可能是一種更有前途的方法(當然,只有現代瀏覽器)。使用它讀取所選文件的屬性相對簡單。因此,如果大小超過最大值,則只需從DOM中刪除文件上傳字段(或者簡單地將其設置爲disabled
),如果您只想提交沒有文件上傳字段的表單的其餘部分。
試試這個,
if($_FILES["table_name"]["size"] > 5242880){
echo 'File are too big';
// do the rest of the submit
}
該表單仍會嘗試提交,但會刷新並清空字段。 – user1176783 2013-03-21 16:17:35
將輸入的字段存儲在會話變量中,當文件上載太大時重定向時,將存儲的值作爲表單的默認值進行回顯。 – 2013-03-15 16:17:51