【发布时间】:2013-04-23 16:31:48
【问题描述】:
我有一个简单的 PHP 表单,它通过电子邮件发送一些文本数据和单个文件附件。我相信,只要上传不打破服务器的任何限制,例如大小或执行时间,一切都运行良好。当文件超出这些限制时,浏览器会显示上传 0% - 100% 就好了,但是页面不会提交表单,而是刷新,不会发送任何 POST 数据。
我没有增加任何限制的选项。我正在开发一个项目,我无法通过 php.ini、.htaccess 或 ini_set() 增加上传大小或执行时间的限制。这很好,我可以接受这个特定客户的托管公司给我的限制。
但是,当用户尝试上传超出限制的大文件时,我只需要一种用户友好的方式来提交表单,而不是完全停止执行并且在没有 POST 数据的情况下刷新页面。在这一点上,我什至无法在提交时向用户显示任何错误,例如“文件必须小于 10MB”,因为当文件太大时表单实际上不会被发布。
如果需要任何澄清,请告诉我。
【问题讨论】:
-
它应该抛出一个你可以捕获的
UPLOAD_ERR_INI_SIZE错误。 -
我认为是导致问题的大小,但我在日志中没有看到任何错误。除了尺寸还有什么可能导致它?记忆?执行时间处理时间?希望我至少会看到一些错误,但我没有。
-
可能是权限问题?您是否有权上传到您要上传到的目录?
-
@doliver 不确定。我没有保存文件,它只是在上传时从 tmp 目录中引用。此外,它适用于较小的文件,所以我认为这是问题所在。
标签: php forms file-upload