增
模型
<?php namespace Admin\Model; use Think\Model; class MusicModel extends Model { }
控制器
public function add(){ $music=D('music'); //添加操作 if(IS_POST){ $data['title']=I('title'); $data['author']=I('author'); $data['time']=time(); if($_FILES['music']['tmp_name']!=''){ $upload = new \Think\Upload();// 实例化上传类 $upload->maxSize = 31457280 ;// 设置附件上传大小 $upload->exts = array('jpg', 'gif', 'png', 'jpeg','mp3');// 设置附件上传类型 $upload->rootPath='./'; $upload->savePath = './Public/Uploads/'; // 设置附件上传目录 $info=$upload->uploadOne($_FILES['music']); if(!$info) {// 上传错误提示错误信息 $this->error($upload->getError()); }else{// 上传成功 $data['music']=$info['savepath'].$info['savename']; } } if($_FILES['pic']['tmp_name']!=''){ $upload = new \Think\Upload();// 实例化上传类 $upload->maxSize = 31457280 ;// 设置附件上传大小 $upload->exts = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型 $upload->rootPath='./'; $upload->savePath = './Public/Uploads/'; // 设置附件上传目录 $info=$upload->uploadOne($_FILES['pic']); if(!$info) {// 上传错误提示错误信息 $this->error($upload->getError()); }else{// 上传成功 $data['pic']=$info['savepath'].$info['savename']; } } if($music->create($data)){ if($music->add()){ $this->success('音乐新增成功',U('lst')); }else{ $this->error('音乐新增失败!'); } }else{ $this->error($music->getError()); } return; } $this->display(); }
视图
<form method="post" action="" enctype="multipart/form-data"> <table class="tbl" width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#a8c7ce" onmouseover="changeto()" onmouseout="changeback()"> <tr> <td height="20" bgcolor="#FFFFFF" class="STYLE6" align="right">音乐名</td> <td height="20" bgcolor="#FFFFFF" class="STYLE19" align="left"><input name="title" type="text" /></td> </tr> <tr> <td height="20" bgcolor="#FFFFFF" class="STYLE6" align="right">作者</td> <td height="20" bgcolor="#FFFFFF" class="STYLE19" align="left"><input name="author" type="text" /></td> </tr> <tr> <td height="20" bgcolor="#FFFFFF" class="STYLE6" align="right">音频</td> <td height="20" bgcolor="#FFFFFF" class="STYLE19" align="left"> <input name="music" id="test" type="file" /> <audio id="audio" controls autoplay="" style="display: none; "></audio> </td> </tr> <tr> <td height="20" bgcolor="#FFFFFF" class="STYLE6" align="right">缩略图</td> <td height="20" bgcolor="#FFFFFF" class="STYLE19" align="left"><input name="pic" type="file" /></td> </tr> <tr> <td height="20" colspan="2" bgcolor="#FFFFFF" class="STYLE6" align="center"><input type="submit" id="mp3_submit" value="确定添加" /></td> </tr> </table> </form>
<script> //录音上传 $(function () { $("#test").change(function () { var objUrl = getObjectURL(this.files[0]); $("#audio").attr("src", objUrl); $("#audio")[0].pause(); $("#audio").show(); $("#mp3_submit").show() getTime(); }); }); <!--获取mp3文件的时间 兼容浏览器--> function getTime() { setTimeout(function () { var duration = $("#audio")[0].duration; if(isNaN(duration)){ getTime(); } else{ console.info("该歌曲的总时间为:"+$("#audio")[0].duration+"秒") } }, 10); } <!--把文件转换成可读URL--> function getObjectURL(file) { var url = null; if (window.createObjectURL != undefined) { // basic url = window.createObjectURL(file); } else if (window.URL != undefined) { // mozilla(firefox) url = window.URL.createObjectURL(file); } else if (window.webkitURL != undefined) { // webkit or chrome url = window.webkitURL.createObjectURL(file); } return url; } </script>
删
控制器
public function del($id){ $music=D('music'); if($music->delete($id)){ $this->success('音乐删除成功!',U('lst')); }else{ $this->error('音乐删除失败!'); } } 视图
<a href="__CONTROLLER__/del/id/{$vo.id}" onclick="return confirm('您确定要删除该音乐吗?');">删除</a>
改
控制器
public function edit(){ $music=D('music'); $id=I('id'); $musics=$music->find($id); $this->assign('musics',$musics); // if(IS_POST){ $data['id']=I('id'); $data['title']=I('title'); $data['author']=I('author'); if($_FILES['music']['tmp_name']!=''){ $upload = new \Think\Upload();// 实例化上传类 $upload->maxSize = 31457280 ;// 设置附件上传大小 $upload->exts = array('jpg', 'gif', 'png', 'jpeg','mp3');// 设置附件上传类型 $upload->rootPath='./'; $upload->savePath = './Public/Uploads/'; // 设置附件上传目录 $info=$upload->uploadOne($_FILES['music']); if(!$info) {// 上传错误提示错误信息 $this->error($upload->getError()); }else{// 上传成功 $data['music']=$info['savepath'].$info['savename']; } } if($_FILES['pic']['tmp_name']!=''){ $upload = new \Think\Upload();// 实例化上传类 $upload->maxSize = 31457280 ;// 设置附件上传大小 $upload->exts = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型 $upload->rootPath='./'; $upload->savePath = './Public/Uploads/'; // 设置附件上传目录 $info=$upload->uploadOne($_FILES['pic']); if(!$info) {// 上传错误提示错误信息 $this->error($upload->getError()); }else{// 上传成功 $data['pic']=$info['savepath'].$info['savename']; } } if($music->create($data)){ if($music->save()){ $this->success('音乐修改成功',U('lst')); }else{ $this->error('音乐修改失败!'); } }else{ $this->error($music->getError()); } return; } $this->display(); }
视图
<form method="post" action="" enctype="multipart/form-data"> <table class="tbl" width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#a8c7ce" onmouseover="changeto()" onmouseout="changeback()"> <input type="hidden" name="id" value="{$musics.id}" /> <tr> <td height="20" bgcolor="#FFFFFF" class="STYLE6" align="right">音乐名</td> <td height="20" bgcolor="#FFFFFF" class="STYLE19" align="left"> <input name="title" type="text" value="{$musics.title}" /></td> </tr> <tr> <td height="20" bgcolor="#FFFFFF" class="STYLE6" align="right">作者</td> <td height="20" bgcolor="#FFFFFF" class="STYLE19" align="left"><input name="author" type="text" value="{$musics.author}" /></td> </tr> <tr> <td height="20" bgcolor="#FFFFFF" class="STYLE6" align="right">音频</td> <td height="20" bgcolor="#FFFFFF" class="STYLE19" align="left"> <input name="music" type="file" /> <if condition="$musics[music] neq ''"> <audio controls src="/{$musics.music}" height="50"></audio> <else/> 暂无音频 </if> </td> </tr> <tr> <td height="20" bgcolor="#FFFFFF" class="STYLE6" align="right">缩略图</td> <td height="20" bgcolor="#FFFFFF" class="STYLE19" align="left"> <input name="pic" type="file" /> <if condition="$musics[pic] neq ''"> <img src="/__ROOT__{$musics.pic}" height="50" /> <else/> 暂无缩略图 </if> </td> </tr> <tr> <td height="20" colspan="2" bgcolor="#FFFFFF" class="STYLE6" align="center"><input type="submit" value="确定修改" /></td> </tr> </table> </form>
<script> //录音上传 $(function () { $("#test").change(function () { var objUrl = getObjectURL(this.files[0]); $("#audio").attr("src", objUrl); $("#audio")[0].pause(); $("#audio").show(); $("#mp3_submit").show() getTime(); }); }); <!--获取mp3文件的时间 兼容浏览器--> function getTime() { setTimeout(function () { var duration = $("#audio")[0].duration; if(isNaN(duration)){ getTime(); } else{ console.info("该歌曲的总时间为:"+$("#audio")[0].duration+"秒") } }, 10); } <!--把文件转换成可读URL--> function getObjectURL(file) { var url = null; if (window.createObjectURL != undefined) { // basic url = window.createObjectURL(file); } else if (window.URL != undefined) { // mozilla(firefox) url = window.URL.createObjectURL(file); } else if (window.webkitURL != undefined) { // webkit or chrome url = window.webkitURL.createObjectURL(file); } return url; } </script>
查
控制器
public function lst(){ $music = M('music'); // 实例化User对象 $count= $music->count();// 查询满足要求的总记录数 $Page= new \Think\Page($count,3);// 实例化分页类 传入总记录数和每页显示的记录数(25) $Page->setConfig('prev', '上一页'); $Page->setConfig('next', '下一页'); $show = $Page->show();// 分页显示输出 $list = $music->order('id desc')->limit($Page->firstRow.','.$Page->listRows)->select(); $this->assign('list',$list);// 赋值数据集 $this->assign('page',$show);// 赋值分页输出 $this->display(); }
视图
<tr> <td><table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#a8c7ce" onmouseover="changeto()" onmouseout="changeback()"> <tr> <td width="10%" height="20" bgcolor="d3eaef" class="STYLE6"><div align="center"><span class="STYLE10">id</span></div></td> <td width="14%" height="20" bgcolor="d3eaef" class="STYLE6"><div align="center"><span class="STYLE10">音乐名</span></div></td> <td width="10%" height="20" bgcolor="d3eaef" class="STYLE6"><div align="center"><span class="STYLE10">作者</span></div></td> <td width="14%" height="20" bgcolor="d3eaef" class="STYLE6"><div align="center"><span class="STYLE10">音频</span></div></td> <td width="14%" height="20" bgcolor="d3eaef" class="STYLE6"><div align="center"><span class="STYLE10">歌手缩略图</span></div></td> <td width="14%" height="20" bgcolor="d3eaef" class="STYLE6"><div align="center"><span class="STYLE10">基本操作</span></div></td> </tr> <volist name="list" id="vo"> <tr> <td height="20" bgcolor="#FFFFFF" class="STYLE6"><div align="center"><span class="STYLE19">{$vo.id}</span></div></td> <td height="20" bgcolor="#FFFFFF" class="STYLE19" align="left" style="padding-left:5px;"><?php echo str_repeat('-',$vo[level]*8);?>{$vo.title}</td> <td height="20" bgcolor="#FFFFFF" class="STYLE6"><div align="center"><span class="STYLE19">{$vo.author}</span></div></td> <td height="20" bgcolor="#FFFFFF" class="STYLE19"><div align="center"> <if condition="$vo[music] neq ''"> <audio controls src="__ROOT__/{$vo.music}" height="50"></audio> <else /> 暂无音频 </if> </div></td> <td height="20" bgcolor="#FFFFFF" class="STYLE19"><div align="center"> <if condition="$vo[pic] neq ''"> <img src="/{$vo.pic}" height="50" /> <else /> 暂无缩略图 </if> </div></td> <td height="20" bgcolor="#FFFFFF"><div align="center" class="STYLE21"><a href="__CONTROLLER__/edit/id/{$vo.id}">修改</a> | <a href="__CONTROLLER__/del/id/{$vo.id}" onclick="return confirm('您确定要删除该音乐吗?');">删除</a></div></td> </tr> </volist> </table></td> </tr> </table> <div class="pagination"> <ul> <li>{$page}</li> </ul> </div> </form> <script> //录音上传 $(function () { $("#test").change(function () { var objUrl = getObjectURL(this.files[0]); $("#audio").attr("src", objUrl); $("#audio")[0].pause(); $("#audio").show(); $("#mp3_submit").show() getTime(); }); }); <!--获取mp3文件的时间 兼容浏览器--> function getTime() { setTimeout(function () { var duration = $("#audio")[0].duration; if(isNaN(duration)){ getTime(); } else{ console.info("该歌曲的总时间为:"+$("#audio")[0].duration+"秒") } }, 10); } <!--把文件转换成可读URL--> function getObjectURL(file) { var url = null; if (window.createObjectURL != undefined) { // basic url = window.createObjectURL(file); } else if (window.URL != undefined) { // mozilla(firefox) url = window.URL.createObjectURL(file); } else if (window.webkitURL != undefined) { // webkit or chrome url = window.webkitURL.createObjectURL(file); } return url; } </script>