问答详情
源自:2-1 PHP文件上传案例实战之错误信息详解

为什么我上传压缩的18M的东西不提示case1的错误

Notice: Undefined index: myFile in C:\wamp\www\uoload\doAction1.php on line 3



提问者:慕尼黑5059460 2014-11-19 23:07

个回答

  • King
    2014-11-20 15:25:12

    是因为超过了post_max_size选项的值,你需要把upload_max_filesize和post的都改大才行,post_max_size是表单发送数据的最大值,要比upload_max_filesize选项的值大,因为表单还可以发送其它数据

    ^-^...

  • vzhengming
    2016-07-23 12:02:34

    首先你确认一下,你做的判断是$error===UPLOAD_ERR_OK--->三个等号哦,如果是==,那么当超过post_max_size的时候$_FILES接受不到值,那么这个时候$error就是空字符串,而UPLOAD_ERR_OK的值是0,

    0==''的结果是true,所以不会进入else循环。

    解决方法:

      判断条件:$error===UPLOAD_ERR_OK或者$error==UPLOAD_ERR_OK&&$error!=null,

    当然文件超过post_max_size没有错误编号,所以你在switch($error)中加个default吧,就能看到你想要的结果了。祝你好运!

  • 小王子抓猫咪
    2016-06-15 00:19:00

    为什么我修改了post_max_size = 8M enable_post_data_reading = On 同时max_execution_time = -1 max_input_time = -1 upload_max_filesize = 64M 我将一个文件夹压缩到6M后进行上传,为什么传了一会浏览器就断开连接了呢,显示连接已重置。 如果我将enable_post_data_reading = Off那么会出现POST Content-Length of 6347436 bytes exceeds the limit of 3145728 bytes 这说明必须将其设置为on,(配置文件中有Its value may be 0 to disable the limit. It is ignored if POST data reading is disabled through enable_post_data_reading.)。现在的问题是为什么设置On之后就出现上面那个错误了呢?!6M不大呀,老师这是什么情况啊?!