Home  >  Article  >  php教程  >  PHP上传文件大小限制问题 post_max_size对大小的影响及解决方法 - 艾维艾

PHP上传文件大小限制问题 post_max_size对大小的影响及解决方法 - 艾维艾

WBOY
WBOYOriginal
2016-05-20 11:39:341712browse

今天在操作php上传的时候发现了一个问题,就是当php脚步上传的文件大小超过php.ini中post_max_size的限制的时候页面不会给出提醒,文件也上传失败,这个问题感觉应该算是一个另类,今天跟大家分享一下。

php.ini 配置对php上传文件大小的影响参数有:
       配置项                               可能值                功能描述
       file_uploads                       ON                        确定服务器上的PHP脚本是否可以接受HTTP文件上传
       memory_limit                   8M                        设置脚本可以分配的最大内存量,防止失控的脚本独占服务器内存
       upload_max_filesize        2M                        限制PHP处理上传文件的最大值,此值必须小于post_max_size值
       post_max_size                  8M                        限制通过POST方法可以接受的信息最大量

而对应的$_FILES 中error对应得错误提示有:

  文件上传时产生的错误
                                                                   0:表示没有发生任何错误,文件上传成功
                                                                   1:表示上传文件的大小超出了再PHP配置文件中upload_max_filesize选项限制的值
                                                                   2:表示上传文件大小超出了HTML表单中MAX_FILE_SIZE选项所指定的值   
                                                                   3:表示文件只被部分上传
                                                                   4:表示没有上传任何文件
由此看出php只能对upload_max_filesize这个配置项的限制做出判断,而对post_max_size则没有相应的判断,这时的页面其实是一个崩溃的状态,页面不会给出任何提示。

对于此问题,现在目前想到的方法是通过ini_get()函数获取到post_max_size配置值,然后送给前台,通过前台验证。还有一个是直接在后台验证也是先用ini_get()获取post_max_size的值,再与要上传的文件进行对比,不过这个要先通过ajax获取到文件的大小。

qq:411200871(艾维艾科技),如果您有好的方法可以相互沟通.

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn