php layui文件批量上传,layui+php实现多文件上传的方法

layui+php实现多文件上传的方法

发布时间:2020-05-18 15:57:23

来源:亿速云

阅读:118

作者:小新

今天小编给大家分享的是layui+php实现多文件上传的方法,相信很多人都不太了解,为了让大家更加了解,所以给大家总结了以下内容,一起往下看吧。一定会有所收获的哦。

效果:

139d20836437dc51252418f399adfda4.png

HTML代码:

多文件

选择上传文件

预览图:

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

var upload = layui.upload,

$ = layui.jquery;

var uploadInst = upload.render({

elem: '#uploadId',

accept: 'file', //指定允许上传时校验的文件类型,可选值有:images(图片)、file(所有文件)、video(视频)、audio(音频)

multiple: 'true',

url: 'http://localhost/guanwnag/php/up.php',

before: function(obj) {

//预读本地文件示例,不支持ie8

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

if ((file.type).indexOf("image") >= 0) {

$('#show').append('' + file.name +</p><p>'')

} else {

$('#show').append(file.name)

}

// console.log(file);

});

},

done: function(res) {

layer.msg(res.msg, {

time: '5000',

tipsMore: true,

zIndex: '2'

});

},

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

$('.layui-word-aux').append("执行完毕,文件总数:" + obj.total + "成功:" + obj.successful + "个,失败:" + obj.aborted + "个");

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

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

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

},

error: function() {

//请求异常

}

});

});

PHP代码:<?php

header("Access-Control-Allow-Origin: *"); //解决跨域

header('Access-Control-Allow-Methods:post');// 响应类型

date_default_timezone_set('PRC');//获取当前时间

//上传文件目录获取

$month = date('Ym', time());

define('BASE_PATH', str_replace('\\', '/', realpath(dirname(__FILE__).'/'))."/");

$dir = BASE_PATH."upload/".$month."/";

//初始化返回数组

$arr = array(

'code' => 0,

'msg'=> '',

'data' =>array(

'src' => $dir . $_FILES["file"]["name"]

),

);

$file_info = $_FILES['file'];

$file_error = $file_info['error'];

if (!is_dir($dir)) {//判断目录是否存在

mkdir($dir, 0777, true);//如果目录不存在则创建目录

};

$file = $dir.$_FILES["file"]["name"];

if (!file_exists($file)) {

if ($file_error == 0) {

if (move_uploaded_file($_FILES["file"]["tmp_name"], $dir. $_FILES["file"]["name"])) {

$arr['msg'] ="上传成功";

} else {

$arr['msg'] = "上传失败";

}

} else {

switch ($file_error) {

case 1:

$arr['msg'] ='上传文件超过了PHP配置文件中upload_max_filesize选项的值';

break;

case 2:

$arr['msg'] ='超过了表单max_file_size限制的大小';

break;

case 3:

$arr['msg'] ='文件部分被上传';

break;

case 4:

$arr['msg'] ='没有选择上传文件';

break;

case 6:

$arr['msg'] ='没有找到临时文件';

break;

case 7:

case 8:

$arr['msg'] = '系统错误';

break;

}

}

} else {

$arr['code'] ="1";

$arr['msg'] = "当前目录中,文件".$file."已存在";

}

echo json_encode($arr);

以上就是layui+php实现多文件上传的方法的简略介绍,当然详细使用上面的不同还得要大家自己使用过才领会。如果想了解更多,欢迎关注亿速云行业资讯频道哦!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值