thinkphp5及layui图片上传代码分享

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

}
  • 星魄 星魄
    2017-02-25 16:40:55
    ie上面上传可以吗?
    0 回复
  • qqff qqff
    20天前
    这个接口是什么意思
    0 回复
最近热帖
LayIM 授权门槛永久性定格 1421
关于三级导航菜单的小三角问题 534
基于Layui开发一个捐赠小插件 474
layer.alert阴影层问题,求大神解答 470
下拉多选框效果,有需要的可以来看看 395
Layui 年度最佳案例 350
vip-admin Html v1.7.0 更新了 - 基于layui的后台模板 275
layui上的折叠面板 预览与代码是不是有问题 ? 为什么把整个代码复制过来也没有用,文件引入是正确 197
夭寿啦!!select忽略渲染不起作用 182
开关lay-text="开启|关闭" 171
近期热议
LayIM 授权门槛永久性定格 23
layui上的折叠面板 预览与代码是不是有问题 ? 为什么把整个代码复制过来也没有用,文件引入是正确 15
layui table如何锁定表头和列 12
iframe里面点击元素怎么判断父元素是否有改该选项卡存在呢 10
开关lay-text="开启|关闭" 9
小魔方看到请进来,你的解决方法有bug 8
!!!!急。用layer.open打开模框,里面的内容是类似选项卡的功能,如何在点击确定按钮的时候获 8
麻烦问下fly模板的矢量图标在哪里获取的,如果我需要找到样式里面没有的,应该去哪里找 8
页面层怎么获取当前层索引参数(index) 7
规则的验证:lay-verify="number" 设置后没有起作用,是什么原因 7