PbootCMS留言表单集成Layui图片上传功能教程

首先在模板中引入Layui框架的核心样式与脚本文件,确保上传组件能够正常加载。

<link rel="stylesheet" href="{pboot:sitetplpath}/layui/css/layui.css?v=v2.5.4">
<script type="text/javascript" src="{pboot:sitetplpath}/layui/layui.all.js?v=v2.5.4"></script>

修改前端留言页面表单

在留言表单中添加头像上传字段,包含文本输入框、上传按钮以及预览容器。通过Layui的upload模块实现单图片上传,上传成功后自动填充图片路径并显示缩略图。

<div class="form-group">
    <label for="mobile">头 像</label>
    <div>
    <input type="text" name="ico" id="ico" placeholder="请上传缩略图" class="layui-input">
    <button type="button" class="layui-btn upload" data-des="ico">
        <i class="layui-icon"></i>上传图片
    </button>
    <div id="ico_box"></div>
    </div>
</div>
<script>
layui.use(['element','upload'], function(){
  var element = layui.element;
  var upload = layui.upload;
  var uploadInst = upload.render({
    elem: '.upload'
    ,url: '/index.php?p=/index/upload'
    ,field: 'upload'
    ,multiple: false
    ,accept: 'images'
    ,acceptMime: 'image/*'
    ,done: function(res){
        var item = this.item;
        layer.closeAll('loading');
        if(res.code==1){
            $('#ico').val(res.data[0]);
            $('#ico_box').html("<img src='"+res.data[0]+"' width=80 >");
            layer.msg('上传成功!');
        }else{
            layer.msg('上传失败:'+res.data);
        }
    }
    ,error: function(){
        layer.closeAll('loading');
        layer.msg('上传发生错误!');
    }
  });
});
</script>

添加后端上传接口

打开 apps/home/controller/IndexController.php 文件,在控制器中新增 upload 方法,调用系统上传函数处理文件并返回JSON结果。

public function upload()
    {
        $upload = upload('upload');
        if (is_array($upload)) {
            json(1, $upload);
        } else {
            json(0, $upload);
        }
}

CMSROI模板网

后台管理字段展示调整

在后台留言管理列表中,将头像字段由文本显示改为图片展示,便于管理员直观查看用户上传的头像。

CMSROI模板网

安全注意事项

前端上传功能会影响网站的安全性,容易导致网站被入侵,如非必须情况不建议使用此功能。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。