abstract:Slide.php這里面有個DoAdd添加操作,這操作之前要先upload 做這個操作,即上傳播圖upload()方法,代碼如下:<?php namespace app\admin\controller; use app\admin\model\SlideModel; use app\admin\controller\Common; use
Slide.php
這里面有個DoAdd添加操作,這操作之前要先upload 做這個操作,即上傳播圖upload()方法,代碼如下:
<?php namespace app\admin\controller; use app\admin\model\SlideModel; use app\admin\controller\Common; use think\facade\Request; use think\facade\Session; class Slide extends Common{ public function index(){ $slides=SlideModel::all(); $this->assign('slides',$slides); return $this->fetch(); } public function add(){ return $this->fetch(); } public function upload(){ $file=Request::file('file'); if($info=$file->validate(['ext'=>'jpg,jpeg,gif,png'])->move('upload')){ $fileName='/upload/'.$info->getSaveName(); return json([1,'上傳成功','data'=>$fileName]); }else{ return $file->getError(); } } public function DoAdd(){ $data=Request::param(); $data['time']=time(); $data['username']=Session::get('username'); $slide=new SlideModel(); $info=$slide->save($data); if($info){ return ['res'=>1,'msg'=>'添加成功']; }else{ return ['res'=>0,'msg'=>'添加失敗']; } } public function del() { // 獲取需要刪除的id $slideId = Request::param('id'); // 實例化模型 $slide = new SlideModel(); // 刪除并驗證 if ($slide->destroy($slideId)) { return ['res' => 1]; } } }
add.html
url: "{:url('upload')}",
$.post("{:url()}",{data},function(data){})
<script> layui.use(['form', 'layer', 'upload'], function () { $ = layui.jquery; var form = layui.form , layer = layui.layer, upload = layui.upload; upload.render({ elem: '#upload', url: "{:url('upload')}", multiple: true, before: function (obj) { //預讀本地文件示例,不支持ie8 obj.preview(function (index, file, result) { $('#thumbnail').append('<img src="' + result + '" alt="' + file.name + '" class="layui-upload-img">') }); }, done: function (res) { //上傳完畢 $('#thumbnail').append('<input type="hidden" name="slide_pic" id="slide_pic" value="' + res.data + '" />') } }); //監(jiān)聽提交 form.on('submit(add)', function (data) { console.log(data); //發(fā)異步,把數(shù)據(jù)提交給php $.post('{:url(\'DoAdd\')}', { 'pic': $('#slide_pic').val(), 'desc': $('#desc').val(), }, function (data) { if (data.res == 1) { layer.alert(data.msg, {icon: 6}, function () { // 獲得frame索引 var index = parent.layer.getFrameIndex(window.name); //關(guān)閉當前frame parent.layer.close(index); }); } else { layer.alert(data.msg, {icon: 6}, function () { // 獲得frame索引 var index = parent.layer.getFrameIndex(window.name); //關(guān)閉當前frame parent.layer.close(index); }); } }) return false; }); }); </script>
index()方法的index.html展示如下:
{volist name="slides" id="slide"} <tr> <td>{$slide.id}</td> <td> <img src="{$slide.pic}"> </td> <td>{$slide.desc}</td> <td>{$slide.username}</td> <td>{$slide.time|date="Y-m-d"}</td> <td class="td-manage"> <button class="layui-btn-danger layui-btn layui-btn-xs" onclick="member_del(this,'{$slide.id}')" href="javascript:;"><i class="layui-icon"></i>刪除 </button> </td> </tr> {/volist}