【问题标题】:PHP Upload Form: Why isn't my multipart/form-data form sending any POST data? (LARGE FILE UPLOADING)PHP 上传表单:为什么我的 multipart/form-data 表单不发送任何 POST 数据? (大文件上传)
【发布时间】:2011-03-18 15:35:28
【问题描述】:

我正在上传 70mb ZIP 文件。也许调试可能会使事情不同步?当我在文件输入中没有文件时,我会得到帖子数据,但是当我这样做时,帖子数据是空的。

<form method="post" action="load_statements.php?action=load" id="form1" enctype="multipart/form-data">

我在表单中有字段(带有 name 属性)和一个提交按钮。但是,当我尝试访问它们时,我得到:

Notice: /fiq_local/load_statements.php line 33 - Undefined index: statementType
Notice: /fiq_local/load_statements.php line 45 - Undefined index: year
Notice: /fiq_local/load_statements.php line 47 - Undefined index: idVar
Notice: /fiq_local/load_statements.php line 49 - Undefined index: attachment

它们都遵循相同的语法。这是一个:

$statementType = $_POST['statementType'];

似乎上传需要很长时间,所以我猜这是问题所在。如何处理大文件上传并仍然获取帖子数据?

我在我的 php.ini 中设置了以下内容:

; Maximum allowed size for uploaded files.
upload_max_filesize = 1000M

【问题讨论】:

  • 确保表单开始和结束标签匹配,&lt;form&gt;标签不匹配,例如在错误的地方关闭。
  • 我已经看过了,对我来说看起来不错:(但我已经提交了 php 和生成的 html 代码

标签: html post upload multipartform-data


【解决方案1】:

这一切都与 php 配置有关!

你需要:

; Maximum allowed size for uploaded files.
upload_max_filesize = 1000M

和

; Maximum size of POST data that PHP will accept.
post_max_size = 1000M

【讨论】:

  • 这就是我要建议的。
  • 感谢您发布修复程序,让我朝着正确的方向思考。上传多个文件时需要注意的一点是,upload_max_filesize 限制了每个单独的文件,但 post_max_size 是所有文件一起的限制。很明显,真的,但让我挠头太久了!
【解决方案2】:

您确定这些索引存在于$_POST 中吗?我解决这个问题的唯一方法是在使用 var 之前使用 isset()。但是,您似乎正在这样做。

因此,我将把我的建议留在你的生产代码中关闭E_NOTICE 错误报告:

error_reporting (E_ALL ^ E_NOTICE);

【讨论】:

  • 我忘了添加另一条重要信息:我正在上传一个 70mb 的 ZIP 文件,调试可能会使事情不同步吗?当我在文件输入中没有文件时,我会得到帖子数据,但是当我这样做时,帖子数据是空的。
猜你喜欢
  • 1970-01-01
  • 2017-05-15
  • 1970-01-01
  • 1970-01-01
  • 2023-04-03
  • 1970-01-01
  • 2011-02-12
相关资源
最近更新 更多