TP5+layui实现多图上传,可以实现图片预览,自由排序,自由删除。

 效果展示

CSS样式 


.layui-upload-img { width: 90px; height: 90px; margin: 0; }
.pic-more { width:100%; left; margin: 10px 0px 0px 0px;}
.pic-more li { width:90px; float: left; margin-right: 5px;}
.pic-more li .layui-input { display: initial; }
.pic-more li a { position: absolute; top: 0; display: block; }
.pic-more li a i { font-size: 24px; background-color: #008800; }   
#slide-pc-priview .item_img img{ width: 90px; height: 90px;}
#slide-pc-priview li{position: relative;}
#slide-pc-priview li .operate{ color: #000; display: none;}
#slide-pc-priview li .toleft{ position: absolute;top: 40px; left: 1px; cursor:pointer;}
#slide-pc-priview li .toright{ position: absolute;top: 40px; right: 1px;cursor:pointer;}
#slide-pc-priview li .close{position: absolute;top: 5px; right: 5px;cursor:pointer;}
#slide-pc-priview li:hover .operate{ display: block;}   

多图上传页面html代码

<div class="layui-form-item" id="pics">
  <div class="layui-form-label">相册图集</div>
  <div class="layui-input-block" style="width: 70%;">
    <div class="layui-upload">
      <button type="button" class="layui-btn layui-btn-primary pull-left" id="slide-pc">添加多图</button>
      <div class="pic-more">
        <ul class="pic-more-upload-list" id="slide-pc-priview">
        </ul>
      </div>
    </div>
  </div>
</div>

 公共JS代码

         layui.use('upload', function(){
         var $ = layui.jquery;
         var upload = layui.upload;           
 upload.render({
     elem: '#slide-pc',
     url: '{:url('admin/common/upload')}',
     size: 500,
     exts: 'jpg|png|jpeg',
     multiple: true,
     before: function(obj) {
         layer.msg('图片上传中...', {
                icon: 16,
                shade: 0.01,
                time: 0
            })
     },
     done: function(res) {
        layer.close(layer.msg());//关闭上传提示窗口
         if(res.status == 0) {
             return layer.msg(res.message);
         }
         //$('#slide-pc-priview').append('<input type="hidden" name="pc_src[]" value="' + res.filepath + '" />');
         $('#slide-pc-priview').append('<li class="item_img"><div class="operate"><i class="toleft layui-icon">《</i><i class="toright layui-icon">》</i><i  class="close layui-icon"><img style="height: 32px;width: 32px;" src="__PUBLIC_ADMIN/del.png"></i></div><img src="__STATIC__/../' + res.filepath + '" class="img" ><input type="hidden" name="pc_src[]" value="' + res.filepath + '" /></li>');
     }
 });
});
//点击多图上传的X,删除当前的图片   
$("body").on("click",".close",function(){
    $(this).closest("li").remove();
  });
 //多图上传点击<>左右移动图片
  $("body").on("click",".pic-more ul li .toleft",function(){
    var li_index=$(this).closest("li").index();
    if(li_index>=1){
      $(this).closest("li").insertBefore($(this).closest("ul").find("li").eq(Number(li_index)-1));
    }
  });
  $("body").on("click",".pic-more ul li .toright",function(){
    var li_index=$(this).closest("li").index();
    $(this).closest("li").insertAfter($(this).closest("ul").find("li").eq(Number(li_index)+1));
  });

 服务器端-PHP

	/**
	 * [upload 图片上传]
	 * @return [type] [description]
	 */
public function upload()
{
	$files = Request::file('file');
 
        $info="";
        // halt($files);
 
        // 移动到框架应用根目录/public/uploads/ 目录下
        $path = '/uploads/images/';
        $info = $files->move('.'.$path);


        /*获取存储路径,以便插入数据库*/
        // $path= "/uploads/images/".$info->getSaveName();
		if($info!==""){
            return SR::success('上传成功!',Request::domain().$path.$info->getSaveName());
            // 成功上传后 获取上传信息
            // 输出 jpg
            /* echo $info->getExtension();*/
            // 输出 42a79759f284b767dfcb2a0197904287.jpg
            /*echo $info->getFilename();*/
        }else{
            // 上传失败获取错误信息
            /* echo $file->getError();*/
         	return SR::error('上传失败!');
     	}

}

 

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
引用\[1\]:LayTab类是一个用于将数据转换成layui需要的数据形式的工具类。它包含了一些属性和方法,用于设置数据的格式和内容。\[1\]引用\[2\]:在具体功能的实现中,页面主要是对所有的信息进行查询,并将其显示出来。利用layui的数据表格来将数据显示在前端的页面上。首先需要在自己的jsp页面上复制layui官网上提供的数据表格代码,并进行相应的修改。\[2\]引用\[3\]:页面主要实现了查询所有、添加书籍、修改书籍、删除书籍、书籍的上下架和模糊搜索等功能。具体流程如下:首先查询数据库中的数据表信息,并将其显示在页面中;然后通过点击添加按钮,弹出层显示添加书籍的表单;接着通过点击修改按钮,弹出层显示修改书籍的表单;再通过点击删除按钮,删除书籍;还可以对书籍进行上下架操作;最后可以进行模糊搜索。\[3\] 根据你的问题,TP5+layui增删改查的实现可以参考以下步骤: 1. 首先需要在TP5中配置数据库连接和相关的模型(Model)。 2. 在控制器(Controller)中编写相应的方法,用于处理增删改查的请求。 3. 在视图(View)中使用layui的数据表格来显示数据,并添加相应的按钮和表单。 4. 在前端页面中,通过ajax请求将数据发送到后端进行处理,并将结果显示在页面上。 5. 根据需要,可以使用TP5的验证器(Validator)来对用户输入的数据进行验证。 6. 在控制器中根据请求的类型(增删改查)来执行相应的操作,并返回相应的结果。 通过以上步骤,你可以实现TP5+layui的增删改查功能。具体的代码实现可以根据你的需求进行相应的调整和修改。 #### 引用[.reference_title] - *1* *2* *3* [layui实现增删改查——图书管理](https://blog.csdn.net/weixin_42381196/article/details/118058698)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值