php+jq(plupload插件)+ajax多图上传并入库

1 篇文章 0 订阅

1.以前用的是swfupload  现在想换个插件   就用plupload了 文档自己可以搜  这里我就不多说了,本来想找个例子,毕竟也是第一次搞,下个demo还要积分,可怜没有,只有自己写一个demo了  没有演示  希望能帮到别人。上代码:(由于例子比较粗糙,不要喷我啊!)

index.php  (引入html页面和接收表单数据)  

if($_POST['111']){
var_dump($_POST['file']);exit;
}

include("custom.html");
   

html代码:

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr">

<head>

<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>


<title>Plupload - Custom example</title>


<!-- production -->

<script type="text/javascript" src="../js/plupload.full.min.js"></script>

<script type="text/javascript" src="http://www.sucaihuo.com/Public/js/other/jquery.js"></script>


<!-- debug

<script type="text/javascript" src="../js/moxie.js"></script>

<script type="text/javascript" src="../js/plupload.dev.js"></script>

-->


</head>

<body style="font: 13px Verdana; background: #eee; color: #333">


<h1>Custom example</h1>


<br />

<form action="custom.php" method="post" enctype="multipart/form-data" runat="server">

<input type="text" name="111">

<div id="container">

<a id="pickfiles" href="javascript:;">[Select files]</a>

<ul id="ul_pics" class="ul_pics clear"></ul>

<!-- <a id="uploadfiles" href="javascript:;">[Upload files]</a> -->

</div>

<input type="submit" value="提交" />

</form>



<br />

<pre id="console"></pre>



<script type="text/javascript">

// Custom example logic


var uploader = new plupload.Uploader({

//上传插件初始化选用那种方式的优先级顺序

runtimes : 'html5,flash,silverlight,html4',

//上传按钮

browse_button : 'pickfiles', // you can pass an id...

container: document.getElementById('container'), // ... or DOM Element itself

url : 'upload.php', //远程上传地址

flash_swf_url : '../js/Moxie.swf', flash文件地址

silverlight_xap_url : '../js/Moxie.xap', //silverlight文件地址


filters : {

max_file_size : '500kb',

mime_types: [

{title : "Image files", extensions : "jpg,gif,png"},

{title : "Zip files", extensions : "zip,rar"}

]

},

//true:ctrl多文件上传, false 单文件上传

multi_selection: true,


init: {

// PostInit: function() {

// document.getElementById('filelist').innerHTML = '';


// document.getElementById('uploadfiles').onclick = function() {

// uploader.start();

// return false;

// };

// },


//文件上传前

FilesAdded: function(up, files) {

// plupload.each(files, function(file) {

// document.getElementById('filelist').innerHTML += '<div id="' + file.id + '">' + file.name + ' (' + plupload.formatSize(file.size) + ') <b></b></div>';

// });

if ($("#ul_pics").children("li").length > 4) {

alert("您上传的图片太多了!");

uploader.destroy();

} else {

var li = '';

plupload.each(files,

function(file) { //遍历文件

li += "<li id='" + file['id'] + "'><div class='progress'><span class='bar'></span><span class='percent'>0%</span></div></li>";

});

$("#ul_pics").append(li);

uploader.start();

}

},

//进度条

// UploadProgress: function(up, file) {

// document.getElementById(file.id).getElementsByTagName('b')[0].innerHTML = '<span>' + file.percent + "%</span>";

// },


//文件上传成功的时候触发

FileUploaded: function(up, file, info) {

var data = JSON.parse(info.response);

//传值到隐藏域

$("#" + file.id).html("<div class='img'><img height='100px' width='100px' src='" + data.pic + "'/><a href='javascript:' οnclick='delimg(this)'>delimg</a><input type='hidden' name='file[]' value='"+data.pic+"' /></div>");



},


Error: function(up, err) {

document.getElementById('console').appendChild(document.createTextNode("\nError #" + err.code + ": " + err.message));

//alert(err.message);

}

}

});


uploader.init();


//删除

function delimg(aa) {

$(aa).parent('.img').remove();

}


</script>

</body>

</html>



upload.php:


$typeArr = array("jpg", "png", "gif");//允许上传文件格式 
$path = "uploads/";//上传路径 
 
if (isset($_POST)) { 
    $name = $_FILES['file']['name']; 
    $size = $_FILES['file']['size']; 
    $name_tmp = $_FILES['file']['tmp_name']; 
    if (empty($name)) { 
        echo json_encode(array("error"=>"您还未选择图片")); 
        exit; 
    } 
    $type = strtolower(substr(strrchr($name, '.'), 1)); //获取文件类型 
     
    if (!in_array($type, $typeArr)) { 
        echo json_encode(array("error"=>"清上传jpg,png或gif类型的图片!")); 
        exit; 
    } 
    if ($size > (500 * 1024)) { 
        echo json_encode(array("error"=>"图片大小已超过500KB!")); 
        exit; 
    } 
     
    $pic_name = time() . rand(10000, 99999) . "." . $type;//图片名称 
    $pic_url = $path . $pic_name;//上传后图片路径+名称 
    // var_dump(move_uploaded_file($name_tmp, $pic_url));exit;
    if (move_uploaded_file($name_tmp, $pic_url)) { //临时文件转移到目标文件夹 
        echo json_encode(array("error"=>"0","pic"=>$pic_url,"name"=>$pic_name)); 
    } else { 
        echo json_encode(array("error"=>"上传有误,清检查服务器配置!")); 
    } 
}


好了,大概就这些,格式我也不弄了,你要本地测试 直接复制代码 就ok了。

a):存放图片的 uploads文件夹 如果你没有自己建的话,自己手动创建下,防止没有权限。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值