php获取layui上传视频,php layui实现前端多图上传实例

php结合layui前端实现多图上传

前端html代码

请选择图片

文件名图片预览大小状态操作

开始上传

js 代码

layui.use('upload', function() {

var $ = layui.jquery,

upload = layui.upload;

//多文件列表示例

var demoListView = $('#demoList'),

uploadListIns = upload.render({

elem: '#testList',

url: "{url('pic/index/upload')}",

accept: 'images',

acceptMime: 'image/*',

size: 8192,

multiple: true,

number: 400,

auto: false,

exts: 'jpg|png|jpeg',

bindAction: '#testListAction',

choose: function(obj) {

var files = this.files = obj.pushFile(); //将每次选择的文件追加到文件队列

//读取本地文件

obj.preview(function(index, file, result) {

var tr = $(['

', '' + file.name + '', '' + file.name + '', '' + (file.size / 1014).toFixed(1) + 'kb', '等待上传', '', '重传', '删除', '', ''].join(''));

//单个重传

tr.find('.demo-reload').on('click', function() {

obj.upload(index, file);

$("#upload-" + index).find("td").eq(2).html((file.size / 1014).toFixed(1) + 'kb');

});

//删除

tr.find('.demo-delete').on('click', function() {

delete files[index]; //删除对应的文件

tr.remove();

uploadListIns.config.elem.next()[0].value = ''; //清空 input file 值,以免删除后出现同名文件不可选

});

demoListView.append(tr);

$(".num_pic").text("总共【" + demoListView.find("tr").length + "】张图片");

});

},

done: function(res, index, upload) {

if(res.code == 0) { //上传成功

$("#cao").text("地址");

var tr = demoListView.find('tr#upload-' + index),

tds = tr.children();

tds.eq(3).html('上传成功');

tds.eq(4).html(''); //清空操作

return delete this.files[index]; //删除文件队列已经上传成功的文件

}

this.error(index, upload);

},

allDone: function(obj) { //当文件全部被提交后,才触发

layer.msg("上传文件数量:【" + obj.total + "】张,上传成功:【" + obj.successful + "】张,失败:【" + obj.aborted + "】", {

time: 3000

});

console.log(obj.total); //得到总文件数

console.log(obj.successful); //请求成功的文件数

console.log(obj.aborted); //请求失败的文件数

},

error: function(index, upload) {

var tr = demoListView.find('tr#upload-' + index),

tds = tr.children();

tds.eq(2).html('上传失败');

tds.eq(4).find('.demo-reload').removeClass('layui-hide'); //显示重传

}

});

});

后端代码

public function uploadAction(){

$file=$_FILES['file'];

$root_url = 'uploadfiles/pic/image/';

if (!is_uploaded_file($file['tmp_name'])){

$data = array('code'=>1,'msg'=>"错误");

exit(json_encode($data,0));

}

/* $root_url.=date('Ymd').'/';*/

$ext = pathinfo($file['name']);

$num=makenum($this->memberinfo['id']);

$root_url.=$num.'/';

if (!is_dir($root_url)) {

mkdir($root_url,0777, true);

}

$pa=file_list::get_file_list($root_url);

$na=count($pa) + 1;

if ($na<10){

$name=$num.'-000'.$na;

}elseif($na<100){

$name=$num.'-00'.$na;

}elseif($na<1000){

$name=$num.'-0'.$na;

}else{

$name=$num.'-'.$na;

}

$n=$root_url.$name.".".$ext['extension'];

$result=move_uploaded_file($file['tmp_name'],$n);

if ($result){

exit(json_encode(array("code"=>0,"msg"=>"ok","file"=>$n,"size"=>$file['size']),0));

}else{

exit(json_encode(array("code"=>1,"msg"=>"false","file"=>$n,"size"=>$file['size']),0));

}

}

上传效果:

5152c05a8d8352152f75707b4d3f1845.png

2fc423d5e654c2951875760fb162bb7c.png

以上就是php结合layui前端实现多图上传的全部知识点,感谢大家对脚本之家的支持。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值