php:提醒用户上传附件限制并仍然提交表单数据

时间:2013-03-15 15:25:18

标签: php codeigniter

我有一个codeigniter php应用程序。用户填写页面,提交表格供考虑。该表单允许用户通过提交附加文件。可以上传的文件大小有5mb的限制。当用户超出限制时,表单尝试提交,但最终基本上重置/刷新本身,因此所有字段都是空白的,用户必须重新输入数据。

我该怎么做/应该做两件事: 提醒用户附件已超出允许的限制 提交表格数据,不包括附件

2 个答案:

答案 0 :(得分:0)

试试这个,

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

答案 1 :(得分:0)

  

我该如何/应该做两件事:警告用户附件超出了允许的限制并提交表单数据,不包括附件

无法在PHP中完成 - 因为当您的脚本运行时,上传已经完成。

HTML 3.2中有一个maxlength文件输入,但在HTML 4.01中已删除。无论如何,浏览器支持很糟糕。 (我不知道HTML5中的maxlength属性是否适用于文件上传字段。)

使用HTML5文件API可能是一种更有前景的方法(当然只有现代浏览器)。使用它,读取所选文件的属性相对简单。因此,如果大小超过最大值,您可以从DOM中删除文件上载字段(或者只是将其设置为disabled),如果您只想提交没有文件上载字段的表单的其余部分。