layui多图片上传1.0更新
(1)图片上传本地目录(2)删除本地页面图片(非删除本地目录文件图片)
一、控制器
public function upload(){ $pathName = $this->request->param('path');//图片存放的目录 $file = request()->file('file');//获取文件信息 $path = 'static/uploads/' . (!empty($pathName) ? $pathName : 'case_images');//文件目录 //创建文件夹 if(!is_dir($path)){ mkdir($path, 0755, true); } $info = $file->move($path);//保存在目录文件下 if ($info && $info->getPathname()) { $data = [ 'status' => 1, 'data' => '/'.$info->getPathname(), ]; echo exit(json_encode($data)); } else { echo exit(json_encode($file->getError())); } }
二、视图
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>tp5 + layui 上传图片</title> <link rel="stylesheet" href="/static/admin/lib/layui/css/layui.css"> <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script> <script src="/static/admin/lib/layui/layui.js"></script> <style type="text/css"> .box{ margin-top: 10%; margin-bottom: 10px; color: #FF5722; font-size: 18px; margin-left: 45%; } .box1{ width: 900px; height: 500px; margin-left: auto; border:solid 1px; margin-right:auto; } .box1 .controls{ } .upload-icon-img{ width:120px; } .upload-pre-item{ position: relative; } .upload-pre-item .img{ margin-top: 5px; width: 116px; height: 76px; } .upload-pre-item i { position: absolute; cursor: pointer; top: 5px; background: #2F4056; padding: 2px; line-height: 15px; text-align: center; color: #fff; margin-left: 1px; /* float: left; */ filter: alpha(opacity=80); -moz-opacity: .8; -khtml-opacity: .8; opacity: .8; transition: 1s; } .upload-pre-item i:hover{transform:rotate(360deg);} .upload-pre-item,.upload-icon-img{ width:120px; float: left; margin-left: 8px; } </style> </head> <body> <div class="box"><span style="">tp5 + layui 上传图片</span></div> <div class="box1"> <div class="controls need-img"> <button type="button" class="layui-btn layui-btn-primary" id="upload_img_icon">上传图片</button> <div class="upload-img-box"> </div> </div> </div> <script> var upurl = "{:url('xiaoguotu/upload')}"; //上传图片地址 layui.use(['layer','upload'], function(){ var layer = layui.layer; var upload = layui.upload; upload.render({ //上传图片 elem: '#upload_img_icon', url: upurl, multiple: true, //是否允许多文件上传。设置 true即可开启。不支持ie8/9 auto:true,//自动上传 before: function(obj) { layer.msg('图片上传中...', { icon: 16, shade: 0.01, time: 0 }) }, done: function(res) { layer.close(layer.msg('上传成功!')); $('.upload-img-box').append('<dd class="upload-icon-img" ><div class="upload-pre-item"><i οnclick="deleteImg($(this))" class="layui-icon"></i><img src="' + res.data + '" class="img" ><input type="hidden" name="case_images[]" value="' + res.data + '" /></div></dd>'); } ,error: function(){ layer.msg('上传错误!'); } }); }); function deleteImg(obj){ //删除页面信息 obj.parent().parent('.upload-icon-img').remove(); //删除本地图片(ajax) //删除数据库图片 } </script> </body> </html>
三、以上是我这些天学习layui多图片上传,大家有什么好思路请给我留言或者加QQ913582934共同交流共同进步,最新版也将在之后陆续更新,感谢大家的来访!
版权声明:本文为Jack_num1原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。