避免Notice=>面向过程,多文件上传

来源:-

飞飞hw

2015-07-10 16:32

【1】foreach($files as $fileInfo){.....$uploadFiles[]=$res['dest']; }无论有没有选择文件,文件是否合法,都必须返回$res['dest']给$uploadFiles数组,否则Notice:未定义变量。。。,为了避免Notice,在多文件上传函数uploadFile()中

(1)将if($res) return $res;改为if($res){$res['dest']='文件不合法,不给上传'; return $res;},这样文件不合法,不会抛出Notice:未定义变量指标dest。

(2)在switch ($fileInfo ['error'])语句块之后,增加一句  $res['dest']='上传错误';   再return $res;   这样未选择文件之类的,不会抛出Notice:未定义变量指标dest。

【2】即使文件合法,也会抛出Notice:未定义变量res,为了避免,在uploadFile()开始前,声明$res='';

【3】另外,如果文件大小为0,getimagesize()会抛出Read Error,为了避免,在getimagesize()之前判断文件的大小,如下(文件要是不合法,也没必要判断是不是真实图片了):

if($flag){

if( (in_array($ext,$allowExt))&&$fileInfo['size']>0){

if(!getimagesize($fileInfo['tmp_name'])){

$res['mes']=$fileInfo['name'].'不是真实图片类型';

}

king老师,你看如何?


写回答 关注

1回答

  • King
    2015-07-17 16:43:11
    已采纳

    嗯 同学你好,Notice不是错误,这个你可以看看错误和异常的视频

    ^-^...

PHP实现文件上传与下载

本课程讲解了文件上传的原理和配置,学会两种方式实现文件上传与下载

43735 学习 · 328 问题

查看课程

相似问题