避免Notice=>面向过程,多文件上传
【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老师,你看如何?