php+uploadify多文件上传实例
2017-04-09
后端
注意:上传不成功返回302错误极有可能是因为php中有session权限的判断,调试方可解决
Jquery.uploadify插件,今天网友Wind把自己做的例子分享出来了,支持批量和文件等待上传,大家好好利用哦。最后提供了打包下载
uploadify.php文件代码如下:
<?php
//设置上传目录
$path = "uploads/";
if (!empty($_FILES)) {
//得到上传的临时文件流
$tempFile = $_FILES['Filedata']['tmp_name'];
//允许的文件后缀
$fileTypes = array('jpg','jpeg','gif','png');
//得到文件原名
$fileName = iconv("UTF-8","GB2312",$_FILES["Filedata"]["name"]);
$fileParts = pathinfo($_FILES['Filedata']['name']);
//接受动态传值
$files=$_POST['typeCode'];
//最后保存服务器地址
if(!is_dir($path))
mkdir($path);
if (move_uploaded_file($tempFile, $path.$fileName)){
echo $fileName."上传成功!";
}else{
echo $fileName."上传失败!";
}
}
?>
来源: < http://www.jq-school.com/Show.aspx?id=209 >
index.php文件主要代码如下:
var img_id_upload=new Array();//初始化数组,存储已经上传的图片名
var i=0;//初始化数组下标
//解决uploadfiy的上传bug
//tp的主入口index.php文件加入
//解决uploadify在火狐下session_id丢失的问题
//if (isset($_POST['session_id'])) {
// session_id($_POST['session_id']);
//}
var session_id = $(":hidden[name='session_id']").val();
$(function() {
$('#file_upload').uploadify({
'auto' : true,//关闭自动上传
'removeTimeout' : 1,//文件队列上传完成1秒后删除
'swf' : '/Public/uploadfiy/uploadify.swf',
'uploader' : '/Dangan/uploadfiy',
'formData': {session_id: session_id}, //解决uploadfiy的上传bug
'method' : 'post',//方法,服务端可以用$_POST数组获取数据
'buttonText' : '选择录音文件',//设置按钮文本
'multi' : true,//允许同时上传多张图片
'uploadLimit' : 5,//一次最多只允许上传10张图片
'fileTypeDesc' : 'MP3 Files; WMA Files',//只允许上传图像
'fileTypeExts' : '*.mp3; *.wma;',//限制允许上传的图片后缀
'fileSizeLimit' : '102400KB',//限制上传的图片不得超过200KB
//'buttonImage':'/Public/uploadfiy/uploadify.jpg',
//浏览按钮的宽度
'width':'100',
//浏览按钮的高度
'height':'32',
'onUploadSuccess' : function(file, data, response) {//每次成功上传后执行的回调函数,从服务端返回数据到前端
//解析返回值
var data = $.parseJSON(data);
img_id_upload[i]=data;
i++;
//上传成功值隐藏到表单
var luyin = $('#luyin').val();
new_luyin = data.name+':'+data.path+','+luyin;
$('#luyin').val(new_luyin);
//显示上传成功文件
var tisi = $('#span_luyin').html();
new_tisi = '已成功上传:'+data.name+'<br />'+tisi;
$('#span_luyin').html(new_tisi);
//console.log(data);
},
'onQueueComplete' : function(queueData) {//上传队列全部完成后执行的回调函数
// if(img_id_upload.length>0)
// alert('成功上传的文件有:'+encodeURIComponent(img_id_upload));
}
// Put your options here
});
});