function uploadfile_action() { $res=array(); $uploads=array(); if (is_array($_FILES)) { $upload=new upload(); $upload->dir='attachment'; $upload->max_size=config::get('upload_max_filesize')*1024*1024; $attachment=new attachment(); $_file_type=str_replace(',','|',config::get('upload_filetype')); $upload->type = explode('|',$_file_type); foreach ($_FILES as $name=>$file) { $res[$name]['size']=ceil($file['size'] / 1024); if ($file['size'] >$upload->max_size) { $res[$name]['code']="alert('附件超过上限(".ceil($upload->max_size / 1024)."K)!');"; break; } if (!front::checkstr(@file_get_contents($file['tmp_name']))) { $res[$name]['code']=lang('上传失败!附件没有通过验证!'); break; } if (!$file['name'] ||!preg_match('/\.('.$_file_type.')$/',$file['name'])) continue; $uploads[$name]=$upload->run($file); if (!$uploads[$name]) { $res[$name]['code']="alert('".'附件保存失败!'.");"; break; } $res[$name]['name']=$uploads[$name]; $res[$name]['type']=$file['type']; $attachment->rec_insert(array('path'=>$uploads[$name],'intro'=>front::post('attachment_intro'),'adddate'=>date('Y-m-d H:i:s'))); $res[$name]['id']=$attachment->insert_id(); $rname=preg_replace('%(.*)[\\\\\/](.*)_\d+(\.[a-z]+)$%i','$2$3',$uploads[$name]); $res[$name]['code']=" document.form1.attachment_id.value=data[key].id; if(!document.form1.attachment_intro.value) { document.form1.attachment_intro.value='$rname'; } document.form1.attachment_path.value=data[key].name; get('attachment_path_i').innerHTML=data[key].name; get('file_info').innerHTML='附件已保存!大小为:'+data[key].size+'K '; "; session::set('attachment_id',$res[$name]['id']); } } echo json::encode($res); }