0

I have a codeigniter php app. User fills out page, submits form for consideration. The form allows user to attach files with their submission. There is there is a 5mb limit on the file size that can be uploaded. When the user exceeds the limit, the form tries to submit, but ends up basically resetting/refreshing itself, so all the fields are blank, user has to reenter data.

How can/should I do two things: alert user the attachments have exceeded the limit allowed and submit the form data, excluding the attachments

4

2 回答 2

0

尝试这个,

if($_FILES["table_name"]["size"] > 5242880){
      echo 'File are too big';
      // do the rest of the submit
}
于 2013-03-15T15:29:26.723 回答
0

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

这不能在 PHP 中完成——因为当您的脚本运行时,上传已经完成。

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

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

于 2013-03-15T15:39:31.403 回答