Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在PHP中限制文件上载大小?_Php_Javascript_Apache_File Upload - Fatal编程技术网

如何在PHP中限制文件上载大小?

如何在PHP中限制文件上载大小?,php,javascript,apache,file-upload,Php,Javascript,Apache,File Upload,我想节省带宽,限制上传到我们网页的文件大小。问题是,我可以设置上传文件的最大大小(例如,1 MB),但用户可以选择50 MB的文件并上传,以发现PHP确实不接受这种大小的文件——上传是完全不必要的 我能以某种方式防止这种情况吗 (我可以用Javascript检查文件大小,但不是所有浏览器都支持。Flash是一个选项,但也不是通用的) 谢谢 使用.htaccess中的: 示例(设置1Mb限制)。创建/修改.htaccess文件(在webroot或更高版本中),并添加: LimitRequestBo

我想节省带宽,限制上传到我们网页的文件大小。问题是,我可以设置上传文件的最大大小(例如,1 MB),但用户可以选择50 MB的文件并上传,以发现PHP确实不接受这种大小的文件——上传是完全不必要的

我能以某种方式防止这种情况吗

(我可以用Javascript检查文件大小,但不是所有浏览器都支持。Flash是一个选项,但也不是通用的)

谢谢

使用
.htaccess
中的:

示例(设置1Mb限制)。创建/修改
.htaccess
文件(在webroot或更高版本中),并添加:

LimitRequestBody 1048576
超过限制时,请求将被中断。用户将得到类似以下内容的响应:

413请求实体太大



另外:规则1:永远不要相信客户您应该始终在服务器端执行此类检查,因为客户端可以轻松绕过您的JavaScript检查,并执行任何不受服务器限制的操作。

您可以配置Web服务器,在这些请求到达PHP之前拒绝这些大的输入请求。此外,您还可以为PHP配置最大文件上载限制。到目前为止你做了什么?您当前的配置是什么(例如查看phpinfo()),请参阅:HTTP错误413请求实体的可能重复项太大