我知道您可以使用$_FILES['userfile']['size'] > XXX
我认为我的问题与表现有关。
当您上传文件时,我的理解是将整个文件上传到临时位置,然后您就可以访问$_FILES
如果用户尝试上传10gb
文件会怎样? (作为一个非常大的文件的例子)
如果尝试上传大文件,这会浪费服务器带宽,因为文件需要上传才能处理/验证。
我知道PHP有类似的超时等但我很好奇,如果用户尝试上传非常大的文件会对性能产生影响,即使(例如)最大文件大小为2mb。
这是一个令人担忧的事情或不可避免的事情,只是不用担心。
感谢。
答案 0 :(得分:3)
apache和php都有max-post限制来防止这种行为。
来自php.ini
:
; Maximum allowed size for uploaded files.
upload_max_filesize = 4M
; Maximum size of POST data that PHP will accept.
post_max_size = 8M
答案 1 :(得分:0)
实际上,[size]
不适用于控制,它只是上传文件的大小。当您的脚本被激活以检查时,PHP(和Web服务器)已经处理了上传并应用了他们自己的内部限制(Apache的LimitRequestBody
,PHP的upload_max_size
等...)。
如果已通过file_uploads
INI设置启用了PHP,则允许所有上传继续进行。由于您无法真正信任客户端,因此将忽略客户端提供的大小,并且上载将继续,直到它完成或达到上载限制。所以,是的,它会浪费你的带宽。
如果您允许上传,则可能会被滥用。但是,上传10gig文件的人或者使用10gig伪造数据进行POST的人之间没有真正的区别。无论哪种方式,你都可以获得10g的数据。