加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

在PHP中上传一个非常大的文件时没有错误?

发布时间:2020-12-13 22:15:12 所属栏目:PHP教程 来源:网络整理
导读:我有一个用于上传文件的 PHP表单,它工作正常,并在出现问题时显示错误消息.这一切都很好. 问题是,当我使用一个非常大的文件进行测试时,它只是刷新页面,就好像我根本没有发送文件一样,并且表单中的$_POST变量都没有发送到服务器. 我想向用户显示错误,让他们知
我有一个用于上传文件的 PHP表单,它工作正常,并在出现问题时显示错误消息.这一切都很好.

问题是,当我使用一个非常大的文件进行测试时,它只是刷新页面,就好像我根本没有发送文件一样,并且表单中的$_POST变量都没有发送到服务器.

我想向用户显示错误,让他们知道文件太大.但是,我不能这样做.

有谁知道发生了什么?

解决方法

检查PHP ini文件,该文件控制PHP允许上载的文件大小.这些变量很重要:

> max upload filesize(upload_max_filesize)
>最大发布数据大小(post_max_size)
>内存限制(memory_limit)

根据您的设置,任何超出这些范围的上传都将被忽略或出错.

文档中的这一部分有最好的总结:http://ca3.php.net/manual/en/features.file-upload.common-pitfalls.php

编辑:另请注意,大多数浏览器不会发送超过2GB的上传内容.此链接已过时,但提出了一个想法:http://www.motobit.com/help/scptutl/pa98.htm.任何人都有更好的信息来源吗?

服务器也可以施加限制,例如Apache:http://httpd.apache.org/docs/2.2/mod/core.html#limitrequestbody

要真正了解正在发生的事情,您应该检查您的网络服务器日志,检查浏览器上传限制(如果您使用的是Firefox),并尝试查看print_r($_ FILES)是否生成任何有用的错误编号.如果所有其他方法都失败了,请尝试使用firebug中的净流量监视器.关键是确定请求是否甚至是去服务器,以及请求(包括标题)是什么样的.一旦你在链中获得了那么远,那么你可以回过头来看看PHP如何处理上传.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读