要注意$_FILES数组的调用问题,$this->upload();虽然没有填写$_FILES内容,但会从中抓取全部数据,每次上传一个图片,需要通过中间变量数组$tmp_file来获取$_FILES的值,
清空$FILES,再通过$tmp_file把需要的值赋值给$_FILES
//图片上传管理
$upimages = array(
array("推荐图",'rec_img',420,278),
array("list图",'list_img',538,228),
array("过期图",'overdue_img',538,228)
);
$count = count($upimages);
$tmp_file=array();
$tmp_file=$_FILES;
for ($i=0; $i<$count; $i++){
$img_title = $upimages[$i][0];
$img_name = $upimages[$i][1];
$img_width = $upimages[$i][2];
$img_height= $upimages[$i][3];
unset($_FILES);
$_FILES=array();
$_FILES[$img_name]['name'] = $tmp_file[$img_name]['name'];
$_FILES[$img_name]['type'] = $tmp_file[$img_name]['type'];
$_FILES[$img_name]['tmp_name'] = $tmp_file[$img_name]['tmp_name'];
$_FILES[$img_name]['error'] = $tmp_file[$img_name]['error'];
$_FILES[$img_name]['size'] = $tmp_file[$img_name]['size'];
if(!$_FILES[$img_name]['tmp_name']){
$json->setErr(10000, "请上传".$img_title);
$json->Send();
}
if($_FILES[$img_name]['tmp_name']){
$file_flag = 1;
$file_= array();
$file = $this->upload(1,$img_width, $img_height, $img_name, $img_name);
}else{
$file_flag = 0;
}
if($file_flag){
if($file['save_name']){
$add[$img_name] = $file['save_name'];
}else{
$json->setErr(10001, "$img_title".$file['error']);
$json->Send();
}
}
if(!$add[$img_name]){
$json->setErr(10002, "$img_title".'图片上传失败');
$json->Send();
}
$file_flag = 0;
$file=array();
}