当前位置: 首页 > 后端技术 > PHP

PHP文件上传限制

时间:2023-03-30 02:00:38 PHP

PHP大文件上传占用资源较多,因此需要限制上传大小。下面是三个相关参数:nginxclient_max_body_sizephp.iniupload_max_filesizephp.inipost_max_size对应以上三个错误信息:状态码413RequestEntiryTooLarge.Warning:POSTContent-Lengthof9663102bytesexceedsthelimitof8388608bytesinUnknownonline0$_FILES['file']['error']==1nginxerror:413RequestEntiryTooLargeclient_max_body_size用于设置客户端Requestbody(请求体)大小的上限。上传的文件在body中,所以这个参数可以间接的看做是对文件上传大小的限制。nginx服务器通过请求头的Content-Length来决定body的大小。如果超过上限,会返回错误码413RequestEntityTooLarge。将该参数设置为0可以取消对长度的限制。语法:client_max_body_sizesize;默认:client_max_body_size1m;上下文:http,server,locationclient_max_body_size可以在http,server,location块中设置,这样我们就可以为域名甚至请求地址增加上传包的size值。PHP报错:Warning:POSTContent-Lengthof9663102bytesexceedsthelimitof8388608bytesinUnknownonline0此时上传文件的大小大于post_max_size。PHP没有警告但是无法获取上传的文件。此时$_FILES['file']['error']==1。报错原因是上传文件的大小小于post_max_size但大于upload_max_filesize。