2013-03-15 51 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