thinkphp5及layui图片上传代码分享

精帖 未结贴
1 227
昨晚可能自己有的小问题引起的原因,用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;
}

}

  • 星魄 星魄
    1天前
    ie上面上传可以吗?
    0 回复
最近热帖
layui 1.0.8 发布,一次用心的小版本升级 5456
LayIM 发布 3.0.3,增加音频消息支持及移动端联系人界面 1405
layer 3.0.2 发布,千锤百炼下的稳健弹层方案 1213
基于LayUI的后台管理模板BeginnerAdmin更新啦~~~~~~~~~~~~~~ 589
Layer真心好用,有了它,我作为一个phper终于有信心抛开二次开发 341
layui不好用啊,好复杂啊 313
layui 三级联动 276
不得不承认,非常棒的一个富文本编辑器 231
ThinkPHP基于Layui无刷提交数据表单,亲测可用 229
CSDN有人公开LayIM源码,弄他 218
layim下载
近期热议
layui 1.0.8 发布,一次用心的小版本升级 56
LayIM 发布 3.0.3,增加音频消息支持及移动端联系人界面 22
layui不好用啊,好复杂啊 13
基于LayUI的后台管理模板BeginnerAdmin更新啦~~~~~~~~~~~~~~ 13
通过ajax动态生成的新checkbox添加到table里面样式不存在了,怎么才能重新渲染? 13
关于富文本框的内容清空问题 10
layer.confirm弹出之后的keydown事件 10
layui的进度条总是无法显示 10
layim怎么接入php服务端啊,急急急 8
请问layui的tab切换,防止页面刷新效果重置是怎么实现的? 8