文件上传中的错误处理

我们可以从$_FILES数组里获取所上传的文件的名字,临时文件的名字,类型,错误情形以及已上传文件的大小。

对于$_FILES['file']['error'](和该文件上传相关的错误代码)是有一下几种错误类型的:

  1. 值:0; 没有错误发生,文件上传成功。
  2. 值:1; 上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。
  3. 值:2; 上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。
  4. 值:3; 文件只有部分被上传。
  5. 值:4; 没有文件被上传。

问题:

当故意选择总量超出限制大小的多个文件时(未超限制上传ok),报出了Warning: Invalid argument supplied for foreach()这样的数组无效的错误,意思好像是说$_FILES是从name为file的上传控件内获取到的文件数组是出错了的。

我猜想会不会是浏览器、服务器或者php的某套程序在获取文件之前要检查所选文件的总量大小,发现不符合,所以将此数组贬为无效数组。

解决:

将php.ini文件中的upload_max_filesize和post_max_size均改为较大的数值,并且重启了本地服务器后,问题解决。


暂时也就只能遇到这个问题了,其他几个问题也模拟不出来,哎……遇到再扯吧



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值