tpl
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>ThinkPHP示例:集成uploadify</title>
<load type="css" href='/Public/uploadify/css/uploadify.css' />
<load href="/Public/uploadify/scripts/jquery.uploadify.js" />
<script language="JavaScript">
var resideid={$resideid};
var img_id_upload=new Array();//初始化数组,存储已经上传的图片名
var i=0;//初始化数组下标
$(function() {
$('#file_upload').uploadify({
'auto' : false,//关闭自动上传
'removeTimeout' : 1,//文件队列上传完成1秒后删除
'swf' : '/Public/uploadify/scripts/uploadify.swf',
'uploader' : '__GROUP__/PictureGallery/uploadify',
'method' : 'post',//方法,服务端可以用$_POST数组获取数据
'formData':{'resideid':resideid,'residemenu':'131'},//在服务端使用$_POST['id']获取该数据,服务端代码上传成功后将在目录生成一个6.txt的文件
'buttonText' : '选择图片',//设置按钮文本
'multi' : true,//允许同时上传多张图片
'uploadLimit' : 10,//一次最多只允许上传10张图片
'fileTypeDesc' : 'Image Files',//只允许上传图像
'fileTypeExts' : '*.gif; *.jpg; *.png',//限制允许上传的图片后缀
'fileSizeLimit' : '200KB',//限制上传的图片不得超过200KB
//每次成功上传后执行的回调函数,从服务端返回数据到前端
'onUploadSuccess' : function(file, data, response) { //每次成功上传后执行的回调函数,从服务端返回数据到前端
$('#image').append('<div>这里是图片:<img width="100px" height="100px" src="__PUBLIC__/upload/'+data+'" height=80 width=80 /></div>');
img_id_upload[i]=data;
i++;
},
//上传队列全部完成后执行的回调函数
'onQueueComplete' : function(queueData) {
if(img_id_upload.length>0)
alert('成功上传的文件有:'+encodeURIComponent(img_id_upload));
}
});
});
</script>
</head>
<body>
<div class="main">
<h2>ThinkPHP示例之:集成uploadify{$resideid}</h2>
<input type="file" name="file_upload" id="file_upload" />
<p>
<input type="button" name="Submit" value="上传图片" onClick="javascript:$('#file_upload').uploadify('upload','*');">
上传</a>
<a href="javascript:$('#file_upload').uploadify('cancel','*')">重置上传队列</a></p>
</div>
<p>控制器源代码:</p>
<div id="image"></div><br />
</body>
</html>
action
<?php
// 后台用户模块class PictureGalleryAction extends CommonAction {
function _filter(&$map){
}
function _before_index(){
$this->assign('resideid',$_REQUEST["id"]);
}
//上传图片回调
public function uploadify(){
$targetFolder = './Public/upload/'; //设置上传目录
if (!empty($_FILES)) {
$tempFile = $_FILES['Filedata']['tmp_name'];
$extend = explode("." , $_FILES['Filedata']['name']);
$va=count($extend)-1;
$path = time().mt_rand(10000,99999).".".$extend[$va];
$targetFile =$targetFolder. '/' . $path; //$_FILES['Filedata']['name'];//上传后的图片路径
// Validate the file type
$fileTypes = array('jpg','jpeg','gif','png'); //允许的文件后缀
$fileParts = pathinfo($_FILES['Filedata']['name']);
if (in_array($fileParts['extension'],$fileTypes)) {
move_uploaded_file($tempFile,iconv("UTF-8","gb2312", $targetFile));
//file_put_contents($_POST['residemenu'].".txt","上传成功了!");
echo $path;//上传成功后返回给前端的数据
} else {
echo "不支持的文件类型";
}
}
}
}
?>