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 ...
随机推荐
- 谁需要GUI?快看Linux 终端生存之道
完全在 Linux 终端中生存并不容易,但这绝对是可行的. 处理常见功能的最佳 Linux shell 应用 你是否曾想像过完完全全在 Linux 终端里生存?没有图形桌面,没有现代的 GUI 软件, ...
- Python(Pyautogui 模块)
1.安装 pyautogui 模块 pip install pyautogui 2.pyautogui 模块相关操作 鼠标操作 # 获取屏幕宽和高 w,h = pyautogui.size() # 在 ...
- muduo网络库源码学习————线程类
muduo库里面的线程类是使用基于对象的编程思想,源码目录为muduo/base,如下所示: 线程类头文件: // Use of this source code is governed by a B ...
- 4)drf序列化组件 Serializer(偏底层)、ModelSerializer(重点)、ListModelSerializer(辅助群改)
知识点:Serializer(偏底层).ModelSerializer(重点).ListModelSerializer(辅助群改) 一.Serializer 偏底层 一般不用 理解原理 1.序列化准备 ...
- spring的aop的注解配置
一.使用注解的方式配置后置通知 第一步,创建通知类LogAdvice 第二步,要在spring主配置文件中声明以注解的方式配置spring aop 第三步,测试 二.其他异常配置 package c ...
- Day_11【集合】扩展案例2_使用普通for循环获取集合中索引为3的元素并打印,统计集合中包含字符串"def"的数量,删除集合中的所有字符串",将集合中每个元素中的小写字母变成大写字母def",
分析以下需求,并用代码实现 1.定义ArrayList集合,存入多个字符串"abc" "def" "efg" "def" ...
- STM32 TIM1高级定时器RCR重复计数器的理解
STM32 TIM1高级定时器RCR重复计数器的理解 TIMx_RCR重复计数器寄存器,重复计数器只支持高级定时器TIM1和TIM8,下面看标准外设库的TIM结构体的封装: typedef struc ...
- python语法学习第六天--字典
字典:可变容器类型,用键值对的形式采用花括号储存(键唯一) 语法:d={key1:value1,key2:value2} 访问字典中的值: 字典名[键名]#若字典中不存在则报错 更改字典: 添加值:字 ...
- 页面中js接收tp5 assign方式传过来的数组对象
<script type="text/javascript"> var arr='<?php echo json_encode($nav) ?>'; var ...
- transition完成事件
当transition事件完成时调用函数(移动端导航的动画消失效果). <!doctype html> <html> <head> <meta charset ...