上传前检查帖子大小

时间:2019-05-22 07:24:36

标签: php jquery

在提交表单时,我遇到了一个问题,这是由于php的最大大小限制所致。

我有一个表单,其中包含一些输入文本和一些输入文件,例如:

<?php

if ( isset($_POST['action']) && $_POST['action'] == "upload" ) {

   // do some stuff like update a DB

   var_dump("Upload complete"); // for debug

   // reload this page

   header("Location: ./");
   exit();

}

?>

<html>
...
<body>

<form id="form" name="form" action="" method="post" enctype="multipart/form-data">
  NAME: <input type="text" name="name">
  SURNAME: <input type="text" name="surname">
  AGE: <input type="text" name="age">
  ATTACHMENT 1: <input type="file" name="att_1">
  ATTACHMENT 2: <input type="file" name="att_2">
  ATTACHMENT 3: <input type="file" name="att_3">
  ATTACHMENT 4: <input type="file" name="att_4">
  ...
  <input type="hidden" name="action" value="upload">
  <input type="submit" id="btn-sub" value="SUBMIT">
</form>

</body>
</html>

可以通过按钮动态添加附件。

实际上,我已经将php中的POST MAX FILE设置为php.ini进行测试,设置为3MB。

如果我输入文件的总和(或表格大小??)<3MB都可以。

但是,如果文件总数> 3 MB(或窗体大小??),则永远不会设置$_POST['action'],也永远不会执行PHP代码。

是否有一种方法可以在表单提交时使用jquery / ajax来检查表单的大小是否大于值?如果更大,则提醒用户并阻止提交。

赞:

$("#form").on("submit", function(e) {

   if ( SIZE_OF_FORM > POST_MAX_FILE ) { // <--- how can I know value of SIZE_OF_FORM ?
      alert("Form too big.");
      e.preventDefault();
   }

   // else continue submit

});

0 个答案:

没有答案
相关问题