Banyak borang di laman web akan digunakan untuk memuat naik gambar, logo, gambar, dan pengguna juga akan memuat naik gambar Pada masa ini, laman web memerlukan fungsi untuk memuat naik gambar, dan selepas memuat naik, saya berharap untuk melihatnya jika ia dimuat naik dengan betul.
thinkphp5 menambah layui untuk melaksanakan fungsi muat naik imej (dengan pratonton imej), menghantar imej dan pratonton secara tidak segerak, mengembalikan nilai yang dimuat naik secara tidak segerak ke medan tersembunyi borang dan kemudian menyerahkannya.
Pertama sekali, anda perlu mengimport fail jQuery, yang perlu
<link rel="stylesheet" type="text/css" href="__STATIC__/plugins/layui/css/layui.css" rel="external nofollow" > <script type="text/javascript" src="__STATIC__/plugins/layui/layui.js"></script>
<form class="layui-form"> <div class="layui-input-inline"> <button class="layui-btn layui-btn-sm" onclick="return false;" id="upload_img"><i class="layui-icon"></i>上传图片</button> <img id="pre_img" <?php if($data['item']['img']){echo 'src="'.$data['item']['img'].'"';}?> /> <input type="hidden" name="img" value="{$data.item.img}"> </div> <div class="layui-form-item"> <div class="layui-input-block"> <button class="layui-btn" onclick="save()">保存</button> </div> </div> </form>
<script type="text/javascript"> layui.use(['form','layer','upload'],function(){ $ = layui.jquery; var form = layui.form; layer = layui.layer; var upload = layui.upload; //执行实例 var uploadInst = upload.render({ elem: '#upload_img' //绑定元素 ,url: '/admins.php/admins/video/upload_img' //上传接口 ,accept:'images' ,done: function(res){ //上传完毕回调 $('#pre_img').attr('src',res.msg); $('input[name="img"]').val(res.msg); } ,error: function(){ //请求异常回调 } }); }); // 保存 function save(){ var title = $.trim($('input[name="title"]').val()); var url = $.trim($('input[name="url"]').val()); if(title == ''){ layer.msg('请输入影片名称',{'icon':2,'anim':6}); return; } if(url == ''){ layer.msg('请输入影片地址',{'icon':2,'anim':6}); return; } $.post('/admins.php/admins/video/save',$('form').serialize(),function(res){ if(res.code>0){ layer.msg(res.msg,{'icon':2,'anim':2}); }else{ layer.msg(res.msg,{'icon':1}); setTimeout(function(){parent.window.location.reload();},1000); } },'json'); } </script>
public function upload_img(){ $file = request()->file('file'); if($file==null){ exit(json_encode(array('code'=>1,'msg'=>'没有文件上传'))); } $info = $file->move(ROOT_PATH.'public'.DS.'uploads'); $ext = ($info->getExtension()); if(!in_array($ext,array('jpg','jpeg','gif','png'))){ exit(json_encode(array('code'=>1,'msg'=>'文件格式不支持'))); } $img = '/uploads/'.$info->getSaveName(); exit(json_encode(array('code'=>0,'msg'=>$img))); }
Atas ialah kandungan terperinci Bagaimana untuk menambah layui ke thinkphp5 untuk melaksanakan fungsi muat naik imej. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!