多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
这一章主要是轮播图的功能实现,实现修改图片功能。 后台修改轮播图页面代码: ~~~ <!DOCTYPE html> <html class="x-admin-sm"> <head> <meta charset="UTF-8"> <title>欢迎页面-X-admin2.2</title> <meta name="renderer" content="webkit"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="viewport" content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi" /> <link rel="stylesheet" href="__ADMIN__/css/font.css"> <link rel="stylesheet" href="__ADMIN__/css/xadmin.css"> <script src="__ADMIN__/lib/layui/layui.js" charset="utf-8"></script> <script type="text/javascript" src="__ADMIN__/js/xadmin.js"></script> <!--[if lt IE 9]> <script src="https://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script> <script src="https://cdn.staticfile.org/respond.js/1.4.2/respond.min.js"></script> <![endif]--> </head> <body> <div class="x-nav"> <span class="layui-breadcrumb"> <a href="/">首页</a> <a> <cite>轮播图修改</cite></a> </span> <a class="layui-btn layui-btn-small" style="line-height:1.6em;margin-top:3px;float:right" onclick="location.reload()" title="刷新"> <i class="layui-icon layui-icon-refresh" style="line-height:30px"></i></a> </div> <div class="layui-fluid"> <div class="layui-row layui-col-space15"> <div class="layui-col-md12"> <div class="layui-card"> <!--<form action="{:url('admin/playout/rotationa')}" name="form" method="post">--> <div class="layui-card-body "> <table class="layui-table layui-form"> <thead> <tr> <th> <input type="checkbox" name="" lay-skin="primary"> </th> <th>ID</th> <th>角色名</th> <th>拥有权限规则</th> <th>状态</th> <th>操作</th> </thead> <tbody> <tr> <td> <input type="checkbox" name="" lay-skin="primary"> </td> <td>1</td> <td>轮播页</td> <td>修改图片</td> <form action="{:url('admin/playout/rotationc')}" method="post" enctype="multipart/form-data" class="layui-form layui-form-pane"> <td class="td-manage"> <span>上传图片(图片尺寸为700*270像素,文件类型为jpg或png): <input type="file" class="adfilel" name="adfilel" > </span> <input class="layui-btn" type="submit" value="提交上传"></input> </td> </form> </tr> <tr> <td> <input type="checkbox" name="" lay-skin="primary"> </td> <td>2</td> <td>轮播页</td> <td>修改图片</td> <form action="{:url('admin/playout/rotationc')}" method="post" enctype="multipart/form-data" class="layui-form layui-form-pane"> <td class="td-manage"> <span>上传图片(图片尺寸为700*270像素,文件类型为jpg或png): <input type="file" class="adfilel" name="adfilel" > </span> <input class="layui-btn" type="submit" value="提交上传"></input> </td> </form> </tr> <tr> <td> <input type="checkbox" name="" lay-skin="primary"> </td> <td>3</td> <td>轮播页</td> <td>修改图片</td> <form action="{:url('admin/playout/rotationc')}" method="post" enctype="multipart/form-data" class="layui-form layui-form-pane"> <td class="td-manage"> <span>上传图片(图片尺寸为700*270像素,文件类型为jpg或png): <input type="file" class="adfilel" name="adfilel" > </span> <input class="layui-btn" type="submit" value="提交上传"></input> </td> </form> </tr> <tr> <td> <input type="checkbox" name="" lay-skin="primary"> </td> <td>4</td> <td>轮播页</td> <td>修改图片</td> <form action="{:url('admin/playout/rotationc')}" method="post" enctype="multipart/form-data" class="layui-form layui-form-pane"> <td class="td-manage"> <span>上传图片(图片尺寸为700*270像素,文件类型为jpg或png): <input type="file" class="adfilel" name="adfilel" > </span> <input class="layui-btn" type="submit" value="提交上传"></input> </td> </form> </tr> <tr> <td> <input type="checkbox" name="" lay-skin="primary"> </td> <td>5</td> <td>轮播页</td> <td>修改图片</td> <form action="{:url('admin/playout/rotationb')}" method="post" enctype="multipart/form-data" class="layui-form layui-form-pane"> <td class="td-manage"> <span>上传图片(图片尺寸为700*270像素,文件类型为jpg或png): <input type="file" class="adfilel" name="adfilel" > </span> <input class="layui-btn" type="submit" value="提交上传"></input> </td> </form> </tr> </tbody> </table> </div> </div> </div> </div> </div> </div> </body> <script> layui.use(['laydate','form'], function(){ var laydate = layui.laydate; var form = layui.form; //执行一个laydate实例 laydate.render({ elem: '#start' //指定元素 }); //执行一个laydate实例 laydate.render({ elem: '#end' //指定元素 }); }); /*用户-停用*/ function member_stop(obj,id){ layer.confirm('确认要停用吗?',function(index){ if($(obj).attr('title')=='启用'){ //发异步把用户状态进行更改 $(obj).attr('title','停用') $(obj).find('i').html('&#xe62f;'); $(obj).parents("tr").find(".td-status").find('span').addClass('layui-btn-disabled').html('已停用'); layer.msg('已停用!',{icon: 5,time:1000}); }else{ $(obj).attr('title','启用') $(obj).find('i').html('&#xe601;'); $(obj).parents("tr").find(".td-status").find('span').removeClass('layui-btn-disabled').html('已启用'); layer.msg('已启用!',{icon: 5,time:1000}); } }); } /*用户-删除*/ function member_del(obj,id){ layer.confirm('确认要删除吗?',function(index){ //发异步删除数据 $(obj).parents("tr").remove(); layer.msg('已删除!',{icon:1,time:1000}); }); } function delAll (argument) { var data = tableCheck.getData(); layer.confirm('确认要删除吗?'+data,function(index){ //捉到所有被选中的,发异步进行删除 layer.msg('删除成功', {icon: 1}); $(".layui-form-checked").not('.header').parents('tr').remove(); }); } </script> <script>var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?b393d153aeb26b46e9431fabaf0f6190"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })();</script> </html> ~~~ 我设置修改4和5两张图片,其他的并没有修改。 模板变量输出这个我中间也了解一下,有好几种实现方法,可以直接输出,也可以循环变量输出使用volist标签。但前提是输出的模板要先渲染才能使用。 后台控制器admin/controller/playout.php代码: ~~~ <?php /** * Created by PhpStorm. * User: Administrator * Date: 2017/6/2 * Time: 11:47 */ namespace app\admin\controller; use think\Controller; use think\Request; use think\Db; use app\admin\model\Rotation; class Playout extends Controller{ // 图片文件上传方法 public function rotation(){ $dbinfo = Db::name('rotation'); // $request = new Request; //获取表单上传文件 $adfilel = request()->file('adfilel'); if (empty($adfilel)){ $this->error('请选择上传文件'); } //使用validate验证文件后缀;上传文件移动到目录public/uploads/rotation/目录下 $info = $adfilel->validate(['ext'=>'jpg,png'])->move(ROOT_PATH . 'public' . DS . 'uploads' . DS . 'rotation'); // 获取上传目录 $savename = $info->getSaveName(); $str = "/uploads/rotation/".$savename; //字符串替换函数,将路径的\\替换成/ $strd = strtr($str,'\\','/'); return $strd; } /** * 保存1图片路径方法 */ public function rotationb(){ //调用rotation方法 $strb = $this->rotation(); $imag['imageurl'] = $strb; $imag['imanu'] = 1; $code = Db::name('rotation')->insert($imag); // $code = Db::name('rotation')->insert($tess); // $userId = $dbinfo->getLastInsID(); // $rtoa = $dbinfo->where('id','=',$userId)->value('imageurl'); // $this->view->replace([ // '__ADMINR__' => $rtoa, // ]); // $rtoa = new Rotation; // $rtoa = $rtoa-> getRotation(); // $ // $count['imageurs'] = $rtoa; // $this->assign('data',data($count)); // if ($info){ // return $this->success('上传成功'); // }else{ // $this->error($adfilel->getError()); // } if ($code){ // $data['imageurs'] = $rtoa; // $this->assign('data',$data); // return $this->fetch('index'); return $this->success('上传成功'); }else{ //获取错误信息 $this->error($code->getError()); } } /** * 保存2图片路径方法 */ public function rotationc(){ $strc = $this->rotation(); $imag['imageurl'] = $strc; $imag['imanu'] = 2; $code = Db::name('rotation')->insert($imag); if ($code){ return $this->success('上传成功'); }else{ //获取错误信息 $this->error($code->getError()); } } /** * @return mixed获取保存1的图片url方法 */ public function rotationa() { $rotationa = input('post.rotationa'); $info = Db::name('rotation'); // if (isset($rotationa)) { $rotas = $info->where('imanu','=',1)->where('1=1')->order('id desc')->value('imageurl'); return $rotas; // } } /** * @return mixed获取保存2的图片url方法 */ public function rotationd() { $rotationa = input('post.rotationa'); $info = Db::name('rotation'); $rotad = $info->where('imanu','=',2)->where('1=1')->order('id desc')->value('imageurl'); return $rotad; } } ~~~ 在这里完成上传图片功能还要在前台控制器里渲染模板才能完成修改和输出: index/controller/index.php代码: ~~~ public function index(){ // $rotationa = input('post.rotationa'); // $info = Db::name('rotation'); // $userId = $info->getLastInsID(); // if (isset($rotationa)) { // $rotas = $info->where('1=1')->order('id desc')->value('imageurl'); // 调用playout类得到图片1地址 $rotaa = new Playout; $rotas = $rotaa->rotationa(); $data['imageurl'] = $rotas; // 模板变量赋值 // $this->assign('data', $data); $rotad = $rotaa->rotationd(); $data['imageurl2'] = $rotad; // 模板变量赋值 $this->assign('data', $data); return $this->fetch('index'); return view('index'); } ~~~ 最后在前端页面里输出变量就可以实现轮播图修改功能了 index.html代码: ![](https://box.kancloud.cn/6cafbcc9967ccb28b742d516508da7e5_919x512.png) ![](https://box.kancloud.cn/0e75beaae4d06475463ae6883002aa29_692x924.png)