layui加tp5图片上传实例
<div class="layui-fluid">
<div class="layui-row">
<form class="layui-form">
<div class="layui-form-item">
<label for="username" class="layui-form-label">
<span class="x-red">*</span>轮播图
</label>
<div class="layui-input-inline">
<button type="button" class="layui-btn" id="add">
<i class="layui-icon"></i>上传图片
</button>
</div>
<div class="layui-form-mid layui-word-aux">
<span class="x-red">*图片格式1920*450</span>
</div>
</div>
<div class="layui-form-item">
<img src="" alt="" id="img" style="width:100%;max-height:450px;">
</div>
<input type="hidden" name="banner" id="banner" value="">
<div class="layui-form-item">
<label for="L_repass" class="layui-form-label">
</label>
<button class="layui-btn" lay-filter="add" lay-submit="">
增加
</button>
</div>
</form>
</div>
</div>
前台代码,创建一个hideen的隐藏input框来接收上传完成的图片路径当点击上传的时候把图片路径插入数据库
layui代码实例
//执行实例
//执行图片上传实例
var uploadInst = upload.render({
elem: '#add' //绑定元素
,url: '{:url('uploads')}' //上传接口
,size: 2048
,choose: function(obj){
//预读本地文件示例,不支持ie8
obj.preview(function(index, file, result){
$('#img').attr('src', result); //图片链接(base64)直接将图片地址赋值给img的src属性
});
// 上传图片时吧旧图片的目录传过去删除
this.data={'id':$("#banner").val()}; },done: function(res){
// 赋值新的图片名
$("#banner").val(res.filename);
//上传完毕回调
// console.log(res);
if(res.code==1){
return layer.msg('图片上传成功,请确认增加');
}else{
return layer.msg('图片上传失败,请刷新后重试');
}
}
,error: function(e){
//请求异常回调
}
});
tp图片接口代码
/**
* [uploads 上传图片接口]
* @return [type] [图片名]
*/
public function uploads(){
$id = input('id');
$file = request()->file('file');
// 移动到框架应用根目录/public/uploads/ 目录下
if($file){
// 有图片上传先删除之前的图片
// 获取上个图片路径
$dir=ROOT_PATH . 'public/uploads/'.$id;
// 如果图片存在则进行删除
if(file_exists($dir)){
@unlink($dir);
}
// 上传新的图片
$info = $this->upload($file);;
$result=[
'code'=>1,
'msg'=>'上传成功',
'filename'=>str_replace('\\', '/',$info)
];
return json_encode($result);
}else{
return false;
} }
方法里的id是如果用户点了第二次上传片,那么就会把第一张上传了的图片执行删除处理,减少服务器空间。
希望这边文章对你们有用
layui加tp5图片上传实例的更多相关文章
- PHP多图片上传实例demo
upload.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:/ ...
- Thinkphp整合阿里云OSS图片上传实例
Thinkphp3.2整合阿里云OSS图片上传实例,图片上传至OSS可减少服务器压力,节省宽带,安全又稳定,阿里云OSS对于做负载均衡非常方便,不用传到各个服务器了 首先引入阿里云OSS类库 < ...
- PHP结合zyupload多功能图片上传实例
PHP结合zyupload多功能图片上传实例,支持拖拽和裁剪.可以自定义高度和宽度,类型,远程上传地址等. zyupload上传基本配置 $("#zyupload").zyUplo ...
- PHP 多图片上传实例demo
upload.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:/ ...
- layui 富文本 图片上传 后端PHP接口
<!DOCTYPE html> <html> <head> <link rel="stylesheet" type="text/ ...
- webuploader项目中多图片上传实例
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- asp.net图片上传实例
网站后台都需要有上传图片的功能,下面的例子就是实现有关图片上传. 缺点:图片上传到本服务器上,不适合大量图片上传. 第一.图片上传,代码如下: xxx.aspx 复制代码代码如下: <td cl ...
- TP5图片上传
/*图片上传*/ public function upload(){ // 获取表单上传文件 例如上传了001.jpg $file = request()->file('file'); // 移 ...
- Thinkphp框架图片上传实例
https://www.cnblogs.com/wupeiky/p/5802191.html [原文转载自:https://www.cnblogs.com/guoyachao/p/628286 ...
随机推荐
- 手把手教你用Rancher创建产品质量数据库设置
目标:在本文中,我们将介绍如何运行一个分布式产品质量数据库设置,它由Rancher进行管理,并且保证持久性.为了部署有状态的分布式Cassandra数据库,我们将使用Stateful Sets (有状 ...
- zwx_helper
通过重载c++operator,实现一种轻松的wxWidgets界面编程风格,如html编写页面一样直观容易. 举一例,一个界面页有四块区,如果是开发html的话,是从头到脚一气书写 <div ...
- 算法——Java实现队列
顺序队列: 概念: 队列是一种先进先出的线性表,只允许在一端插入,另一端删除.允许插入的一端称为队尾,允许删除的一端称为队头 顺序队列的实现: import org.junit.jupiter.api ...
- 学习vue第五节,vue中使用class和style的css样式
vue中使用class样式 数组 <h1 :class="['red', 'thin']">这是一个H1</h1> 数组中使用三元表达式 <h1 :c ...
- 王颖奇 20171010129《面向对象程序设计(java)》第十四周学习总结
实验十四 Swing图形界面组件 理论知识知识点: 1.Swing和MVC设计模式2.布局管理器3.文本输入4.选择组件5.菜单6.对话框 实验时间 2018-11-29 1.实验目的与要求 (1) ...
- Liunx常用操作(五)-如何查询文档中的冒号与引号
liunx下面有如下一段包含json格式的文档 一.单查所有冒号: .txt | grep [:] 结果如下: 二.单查所有引号: 这里需要转义 .txt | grep [\"] 三.gre ...
- sql server 百万级数据库优化方案
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...
- Mac 安装实用开发软件和日常软件清单
软件安装 开发需要安装软件 HomeBrew 这个是 mac 的软件包管理软件,类似于 yum 安装 rpm 包会帮我们处理软件包之间的依赖关系一样,或者 apt-get 安装 deb 包,最开始接触 ...
- Redis学习笔记(六) 对象
前面我们看了Redis用到的主要数据结构,如简单动态字符串(SDS).双向链表.字典.压缩列表.整数集合等. 但是Redis并没有直接使用这些数据结构来实现键值对,而是基于这些数据结构创建了一个对象系 ...
- Linux登录shell和非登录(交互式shell)环境变量配置
使用Jenkins执行shell脚本的时候, 碰到command not found. 比如java mvn, 这些环境变量配置在/etc/profile 中, 但jenkins执行的时候并没有加载. ...