php layui post文件上传,Thinkphp框架+Layui实现图片/文件上传功能分析

本文实例讲述了Thinkphp框架+Layui实现图片/文件上传功能。分享给大家供大家参考,具体如下:

在项目中用到了,再网上找了现成的代码都是借口异常或者非法上传,所以在一番摸索搞定之后拿来和大家分享。

html:

点击上传,或将文件拖拽到此处

建议尺寸1920*512

提交

JS:

layui.use('upload', function(){

var $ = layui.jquery

,upload = layui.upload;

//普通图片上传

var uploadInst = upload.render({

elem: '#uploadBanner'

,url: "{:U('Api/doUploadPic')}"

,before: function(obj){

//预读本地文件示例,不支持ie8

obj.preview(function(index, file, result){

$('#upload-photo').attr('src', result); //图片链接(base64)

$('#upload-photo').attr('style', 'height:10rem;');

$('#upload-icon').attr('style','display:none;');

});

}

,done: function(res, index, upload){

//如果上传失败

if(res.code > 0){

return layer.msg('上传失败');

}

//上传成功

console.log("成功啦!" + obj2string(res) + " " + index + " " + upload);

}

,error: function(){

//演示失败状态,并实现重传

var demoText = $('#demoText');

demoText.html('上传失败 重试');

demoText.find('.demo-reload').on('click', function(){

uploadInst.upload();

});

}

});

});

PHP接口:

public function doUploadPic()//上传模块

{

$upload = new \Think\Upload();

$upload->maxSize = 3145728;

$upload->exts = array('jpg', 'gif', 'png', 'jpeg');

$upload->rootPath = './Public/'; // 设置附件上传根目录

$upload->savePath = 'upload/'; // 设置附件上传子目录

$info = $upload->upload();

if(!$info){

$this->error($upload->getError());

}else{

foreach($info as $file){

$data = '/Public'.$file['savepath'] . $file['savename'];

$file_a=$data;

echo '{"code":0,"msg":"成功上传","data":{"src":"'.$file_a.'"}}';

}

}

}

图片就上传到/Public/upload文件夹下了:

83a26282a271e07eeaa1853b5eb4699b.png

c7e5f109a5c3dbcae00de9fca303c82d.png

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值