thinkphp5及layui图片上传代码分享

精帖 未结贴
1 893
昨晚可能自己有的小问题引起的原因,用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 回复
最近热帖
layui省市区三级联动数据库版 720
vip-admin Html v1.6.0 更新了 - 基于layui的后台模板 466
html5+CSS3+layui开发的前台网站模板 408
请问下,layer我看完了文档,也不知道里面的内容怎么自定义编译呢??? 386
layer终极疑难杂症。。感觉这问题无解了。。 361
PHP版layim整合融云简单实现 323
模态窗口用ajax 获取分页面,一直报404 311
下拉选择框动态添加option显示不出来 227
layui.upload 上传 dataType:"json" 怎么设置? 204
为什么提交表单的时候总会以get方式提交 193
近期热议
请问下,layer我看完了文档,也不知道里面的内容怎么自定义编译呢??? 16
求助 table数据 每次都要手动刷新才会更新数据 15
layer终极疑难杂症。。感觉这问题无解了。。 13
模态窗口用ajax 获取分页面,一直报404 12
layui弹出层没反应 12
范围的日历,怎么让第一个日历选中时间后,第二个立刻自动弹出 10
请问为什么layer中弹出层内容点击事件不起作用?? 10
求助,为何checkbox的原始风格无法显示 9
下拉选择框动态添加option显示不出来 9
扩展模块依赖内置模块的时候只需要声明内置模块名,不用路径,是怎么关联起来的啊? 7