有啥方法可以防止大于特定大小的文件被上传? [复制]

Posted

技术标签:

【中文标题】有啥方法可以防止大于特定大小的文件被上传? [复制]【英文标题】:Is there any way to prevent files larger than a specific size to get uploaded? [duplicate]有什么方法可以防止大于特定大小的文件被上传? [复制] 【发布时间】:2014-07-01 12:23:07 【问题描述】:

我正在尝试为上传到我的 php 服务器的文件大小设置某种最大值,但我找不到任何可行的方法。

我尝试在我的表单中使用“<input type="hidden" name="MAX_FILE_SIZE" value="30000">”方法,但这似乎没有任何作用。我还尝试在上传后检查大小,方法是:“if($_FILES["file"]["size"]/1024 > 10240)”。当然,这也不起作用,因为文件已经上传,并且在检查发生之前已经使我的服务器崩溃了。

我已经搜索了很多方法,但我只能找到一些网站说“<input type="hidden" name="MAX_FILE_SIZE" value="30000">”是方法,有些人说它是方法,但它不起作用一点也不。所以我现在很困惑。但是我已经尝试了这两种方法,但都没有奏效,而且我找不到第三种选择。所以请帮助我!

编辑:我认为这个问题与类似主题的其他问题不同,因为我要求一种让服务器检测文件太大而不会导致服务器崩溃的方法,当指定大小时它会这样做仅在 php.ini 中。我希望能够检测到文件太大,发送一个漂亮的“你的文件太大,再试一次”,然后将用户引导回上传站点(引导部分我知道该怎么做)。这可能吗?

【问题讨论】:

php.ini.htaccess中定义 “文件已经上传,我的服务器崩溃了”听起来你的服务器需要修复。 然后检查您的日志。 嗯,我可以在 php.ini 或 .htaccess 中定义它,我有。但这仍然只是让我的服务器“崩溃”并且我收到“警告:786614735 字节的 POST 内容长度超过第 0 行未知中 8388608 字节的限制”。这不是太漂亮。有没有办法检查大小并以某种方式防止服务器崩溃,然后只发送一条非常小的消息,例如“对不起,您的文件太大了”? 【参考方案1】:

你可以使用这两个 php.ini 设置:

post_max_size = 10M
upload_max_filesize = 10M

【讨论】:

以上是关于有啥方法可以防止大于特定大小的文件被上传? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

瞬态变量有啥用? [复制]

有啥方法可以使用 memcpy() 将值复制到特定的字符串位置?

百度编辑器上传文件的bug

如果通过 Mongoose 在 Mongodb 的另一个文档中存在引用,有啥更好的方法可以防止文档被删除?

如何防止文件被复制被拷贝,怎样禁止

有啥方法需要防止 url 注入?