【发布时间】:2009-09-04 20:22:33
【问题描述】:
我试图制作一个文件上传表单并检查了 PHP 文档以刷新我对该主题的记忆。 Here is a link to the relevant article.突然看到这条信息:
MAX_FILE_SIZE 隐藏字段(以字节为单位)必须在文件输入字段之前,其值是 PHP 接受的最大文件大小。应始终使用此表单元素,因为它为用户节省了等待传输大文件却发现文件太大而传输失败的麻烦。请记住:在浏览器端欺骗此设置非常容易,因此切勿依赖此功能阻止更大大小的文件。它只是为应用程序客户端的用户提供的便利功能。然而,最大尺寸的 PHP 设置(在服务器端)不能被愚弄。
好的……说什么?首先它告诉它必须在文件上传字段之前。然后它告诉我们这只是为了方便。此外 - 它无论如何都在客户端,所以任何人都可以弄乱它。谷歌搜索后,我还发现没有已知的浏览器支持它。
WTF?如果文件上传字段似乎(出于所有意图和目的)绝对没有意义,为什么说它必须在文件上传字段之前?我应该把它放在我的 HTML 中吗?
【问题讨论】:
-
Vilx - 我对它如何工作的假设似乎是错误的。您能否对其进行测试并让我知道是否实际发布了大于
max_file_size的文件?我有兴趣被发现错了! -
当然是!至少在我的 WinXP SP3 + Apache 2.2 + PHP 5 上。PHP 也无法阻止它 - 它最多只能关闭连接(即使是那么多),但它无法提供任何对用户完全错误。
-
@Vilx - 谢谢 - 最有趣的!
-
关于
must precede the file input field,我认为这只是意味着如果您决定包含该字段,则它必须位于相关输入字段之前。 -
@Sebas,多么随意的限制。如果我们要上传多个文件怎么办? No wonder browsers don't support it,连设计都不好。
标签: php