thinkphp5及layui图片上传代码分享

精帖 未结贴
1 431
昨晚可能自己有的小问题引起的原因,用TP后台搞layui的上传组件竟然没成功,今天再次试验了下,很简单。昨晚在论坛看这个没看到现成的例子。我向来伸手党,今天也简单奉献下吧。

html文件片段。因为自己的项目里,懒得分离,上片段吧。
<div class="layui-form-item">
<label class="layui-form-label">上传头像</label>
<div class="layui-input-block">

<div class="face-img">
<img id="upload" src="/uploads/20170217\1290ff6d12ed787005b05a7c28b1bfa5.jpg">
<div class="site-demo-upload"><input type="file" name="file" class="layui-upload-file">
</div>
</div>
</div>

</div>

<script type="text/javascript" src="__PUBLIC__/common/layui/layui.js"></script>
<script type="text/javascript">
layui.use(['form','upload','jquery'],function(){
window.jQuery = window.$ = layui.jquery;
var form = layui.form();
layui.upload({
url: '{:url('upload/index')}' ,//上传接口
success: function(res){
//上传成功后的回调
$("#upload").attr("src",res.src);
console.log(res.src);
}
});

});
</script>
后台php的代码
<?php
/***
**layui上传的后台接口
*/
namespace app\admin\controller;
use \think\Controller;

class Upload extends Controller
{

public function index(){
$ret = array(); //返回的上传文件状态数组
if ($_FILES["file"]["error"] > 0)
{
$ret["message"] = $_FILES["file"]["error"] ;
$ret["status"] = 0;
$ret["src"] = "";
return json($ret);
}else{
$pic = $this->upload();
if($pic['info']== 1){
$url = '/uploads/'.$pic['savename'];
} else {
$ret["message"] = $this->error($pic['err']);
$ret["status"] = 0;
}
$ret["message"]= "图片上传成功!";
$ret["status"] = 1;
$ret["src"] = $url;
return json($ret);
}

}


//图片上传代码
private function upload(){
$file = request()->file('file');
// 移动到框架应用根目录/public/uploads/ 目录下
$info = $file->move(ROOT_PATH . 'public' . DS . 'uploads');
$reubfo = array(); //定义一个返回的数组
if($info){
$reubfo['info']= 1;
$reubfo['savename'] = $info->getSaveName();
}else{
// 上传失败获取错误信息
$reubfo['info']= 0;
$reubfo['err'] = $file->getError();;
}
return $reubfo;
}

}

  • 星魄 星魄
    27天前
    ie上面上传可以吗?
    0 回复
最近热帖
vip-admin Html v1.5.0 更新了 - 基于layui的后台模板 1385
一个为您省时省力的后台模板jqadmin 1048
meTools - 基于layui+vue的在线工具网站 952
基于layui的后台模板 - 反正我觉得我的界面是最漂亮的 879
你的案例或技术分享,将会被置顶推荐 825
LayuiHelp,一个良心插件,为你的代码插上翅膀! 737
LayUI SELECT 多级级联实现,理论上是无限级的 582
Admin-Template 后台模板(开发中...) 510
基于TP5加Layui的轻社区系统,争取下个月上线 291
laypage分页模块扩展之pagesize.js(layui2.0不知道会不会有这个功能) 214
近期热议
一个为您省时省力的后台模板jqadmin 24
基于layui的后台模板 - 反正我觉得我的界面是最漂亮的 20
LayuiHelp,一个良心插件,为你的代码插上翅膀! 17
layer的使用,以前用的时候还没挺好的怎么现在layer的弹出框一直报错,求大神给指点一下 15
vip-admin Html v1.5.0 更新了 - 基于layui的后台模板 15
form表单提交,监听提交按钮,用ajax异步检测名称是否已存在,ajax 不执行! 14
遮罩通过parent 可以全屏,但窗口不能传值了? 12
layui点击左侧固定导航栏时,如何在右侧显示,而并不是打开新窗口呢 12
select联动初始化数据form.render();不能逐个渲染的问题。 11
为什么layui分页只有一页的情况下不无法显示组件呢? 11