- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我有以下问题,我有一个 HTML 表单,可以上传包含一些额外信息的文件。但它允许上传小于 10MB 的文件。但是当用户尝试上传更大的东西时,$_POST 和 $_FILES 数组都是空的(我预计 $_POST 会有一些值,而 $_FILES 会有一些值但会表明存在上传错误)。
有几个类似的问题(空的 $_POST、$_FILES),但我没有找到任何解决方案或解释。
HTML 表单:
<form enctype="multipart/form-data" method="post" action="upload.php">
<p>
<input type="hidden" name="MAX_FILE_SIZE" value="10000000" />
<input type="file" name="image" />
</p>
<p>
<input type="text" name="other_field" />
</p>
</form>
上传.php
print_r($_POST); // array()
print_r($_FILES); // array()
exit;
它工作正常,如果文件大小低于 10MB(文件大小限制为 10MB),我不想增加它,我只想在 PHP 中捕获一个错误。
从 PHP 网站更新(说明/解决方案)
来自 PHP 网站(我错过了这个部分): http://us.php.net/manual/en/ini.core.php#ini.post-max-size
设置允许发布数据的最大大小。此设置也会影响文件上传。要上传大文件,该值必须大于upload_max_filesize。如果您的配置脚本启用了内存限制,那么 memory_limit 也会影响文件上传。一般来说,memory_limit 应该大于 post_max_size。使用整数时,该值以字节为单位。也可以使用本常见问题解答中描述的速记符号。如果 post 数据的大小大于 post_max_size,则 $_POST 和 $_FILES 超全局变量为空。这可以通过各种方式进行跟踪,例如通过将 $_GET 变量传递给处理数据的脚本,即 ,然后检查是否设置了 $_GET['processed']。
最佳答案
如已编辑问题中所述,当 PHP 静默丢弃数据时,$_POST 和 $_FILES 为空(当实际数据大于 post_max_size 时发生)。由于 HTTP header 和 $_GET 保持不变,它们可用于检测丢弃。
选项 a)
if(intval($_SERVER['CONTENT_LENGTH'])>0 && count($_POST)===0){
throw new Exception('PHP discarded POST data because of request exceeding post_max_size.');
}
选项 b)
添加一个 GET 参数来判断是否存在 POST 数据。
关于PHP - 空 $_POST 和 $_FILES - 上传较大文件时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7852910/
我正在通过 PHP 将 .csv 中的两行插入到表中。 我还会跟踪任何错误,如果发生错误,我不会提交事务。插入表后,我检索结果行的 ID(全部在一个事务中提交),并且 csv 的第一行对应于第二个 I
一个应用程序托管一个具有三个接口(interface)的 Web 服务,用于三个单独且独立的操作,所有这些操作都在应用程序的不同组件中实现,彼此独立,例如在不同的包等中,所以他们对彼此了解不多,只共享
我希望在单击特定表格数据单元格时同时选中单选按钮和单选按钮单击事件。我已经使用以下方法实现了这一点: $(document).ready(function() { $("td").click(
JSFiddle:https://jsfiddle.net/oyp1zxaq/ 本质上,我只是想在较大的 div 中放置四个具有定义宽度的较小 div,但我希望它们在其中间隔开。 我想知道是否有一种方
我在一个布局中有两个 View 。我将分别称它们为 View A 和 View B。 ┌──────┐ │┌─┐┌─┐│ ││A││B││ │└─┘└─┘│ └──────┘ 父布局(包括View A
我是一名优秀的程序员,十分优秀!