前台HTML代码:
<div class="control-group" id="title-control-group"> <label class="control-label"><?=_(\'关于图片(*)\')?></label> <div class="controls"> <div><input id="about_file_upload" name="about_file_upload" type="file" /> <input type="button" value="确定上传" onclick="javascript:$(\'#about_file_upload\').uploadify(\'upload\',\'*\');"> || <a href="javascript:ClearUpload(\'about\');"><?=_(\'清除上传列表\')?></a></div> <p style="color:red;"><?php $msg=_(\'请按以下语言版本上传:\'); for($n=0;$n<count($lang);$n++) { $t.=$lang[$n][\'lang\'].\',\'; } $t=substr($t,0,strlen($t)-1); echo $msg.$t; ?></p> <span id="about_FileNames"></span> <input type="hidden" name="about_images" id="about_images"/> <input type="hidden" name="temp_about_images" id="temp_about_images"/></div></div></div> <script src="/theme/<?=T_D?>/assets/uploadify/jquery.uploadify.min.js" type="text/javascript" ></script> <link href="/theme/<?=T_D?>/assets/uploadify/uploadify.css" rel="stylesheet" type="text/css" />
前台JS:
$("#about_file_upload").uploadify({
\'swf\': \'/theme/<?=T_D?>/assets/uploadify/uploadify.swf\',//所需要的flash文件
\'cancelImg\': \'cancel.png\',//单个取消上传的图片
\'auto\' : false,
\'uploader\': \'/management/common/uploadify\',//实现上传的程序
\'folder\': \'uploads/pic\',//服务端的上传目录
\'multi\': true,//是否多文件上传的
\'displayData\': \'speed\',//进度条的显示方式
\'fileTypeExts\': \'*.jpg;*.jpeg;*.gif;*.png\',//可上传的文件类型
\'fileSizeLimit\': \'2MB\',//限制文件大小
\'simUploadLimit\' :3, //并发上传数据
\'queueSizeLimit\' :<?php echo count($lang);?>, //可上传的文件个数
\'buttonText\' :\'<?=_(\'文件上传\')?>\',//通过文字替换钮扣上的文字
\'buttonImg\': \'css/images/browseBtn.png\',//替换上传钮扣
\'width\': 80,//buttonImg的大小
\'height\': 24,//
\'formData\':{\'source\':\'doctor\'},
onSWFReady:function(){
$("#doctors_FileNames").html(\'\');
$("#temp_doctor_images").val(\'\');
},
onUploadSuccess: function (file, data, response) {
var msg=$("#about_FileNames").html();
var image_data=$("#temp_about_images").val();
msg+=data+","+"<br/>";
image_data+=data+",";
$("#about_FileNames").html(msg);
$("#temp_about_images").val(image_data);
},
onQueueComplete:function()
{
var msg=$("#about_FileNames").html();
var image_data=$("#temp_about_images").val();
$("#about_images").val(image_data);
}
});
});
//清除上传
function ClearUpload(source)
{
if(source==\'doctor\')
{
$(\'#doctor_file_upload\').uploadify(\'cancel\',\'*\');
$("#doctors_FileNames").html(\'\');
$("#doctor_images").val(\'\');
$("#temp_doctor_images").val(\'\');
}
else if(source==\'about\')
{
$(\'#about_file_upload\').uploadify(\'cancel\',\'*\');
$("#about_FileNames").html(\'\');
$("#about_images").val(\'\');
$("#temp_about_images").val(\'\');
}
}
后端PHP代码:
//文件上传 function uploadify() { $sub=$this->input->post(); if(!empty($_FILES)) { $source=$sub[\'source\']; $year=date("Y",time()); $month=date("n",time()); $day=date("j",time()); $ext=end(explode(\'.\', $_FILES["Filedata"]["name"])); $_dir = "./uploads/$source/$year/$month/$day/"; if (!is_dir($his_dir)) { $this->commfunctions->mkpath($_dir); } move_uploaded_file($_FILES["Filedata"]["tmp_name"],$_dir.md5(time()).\'_\'.md5($_FILES["Filedata"]["name"]).\'.\'.$ext); echo "/uploads/$source/$year/$month/$day/".md5(time()).\'_\'.md5($_FILES["Filedata"]["name"]).\'.\'.$ext; } }
实现效果图: