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 ...
随机推荐
- mac OS 安装淘宝npm镜像
淘宝npm镜像官网 https://npm.taobao.org/ 在终端输入 npm install -g cnpm --registry=https://registry.npm.taobao.o ...
- AngularJS学习1-基础知识
Angular并不是适合任何应用的开发,Angular考虑的是构建CRUD应用 但是目前好像也只是用到了angular的一些指令,数据绑定,mvc,http服务而已..... 以前传统的做法就是,通过 ...
- ACM算法--枚举方法(指数枚举,组合枚举)模板
// 递归实现指数型枚举 vector<int> chosen; void calc(int x) { if (x == n + 1) { for (int i = 0; i < c ...
- Jenkins 构建 Jmeter 项目之源代码管理(SVN)
1.查看项目创建中是否又 svn 插件,没有的话下载插件 subversion 2.配置 svn 源代码管理,如下图(testcases 目录下包含 build.xml 和脚本文件) 3.查看 Jen ...
- Gitlab常规操作
一.Git和SVN的区别 和SVN类似,Git是一个版本控制系统(Version Control System,VCS),不同的是SVN为集中式版本控制系统,为单一的集中管理的服务器,保存所有文件的修 ...
- LateX的简单字体设置(颜色,居中,大小等)
\(\color{red}{Ⅰ.文本单行居中}\) $$\text{我是蒟蒻}$$ \[\text{我是蒟蒻} \] \(\color{Black}{Ⅱ.设置字体颜色}\) $$\color{Purp ...
- P1666前缀单词
题目传送门点我传送 Ⅰ.字典树+树型DP 非常奇妙的一种解法 第一部分:构建树 先对来的单词读入,插入字典树 然后对于一颗字典树,其实是有很多无用边的,所以我们需要删去一些边 删去非单词节点和非单词节 ...
- Educational Codeforces Round 83 E. Array Shrinking
E. Array Shrinking 题目大意: 给你一个大小是n的序列,相邻的序列如果相等,则可以合并,合并之后的值等于原来的值加1. 求:合并之后最小的序列的和. 题解: 这个数据范围和这个相邻的 ...
- CF#214 C. Dima and Salad 01背包变形
C. Dima and Salad 题意 有n种水果,第i个水果有一个美味度ai和能量值bi,现在要选择部分水果做沙拉,假如此时选择了m个水果,要保证\(\frac{\sum_{i=1}^ma_i}{ ...
- python读取excel所有数据(cmd界面)
python读取excel所有数据(cmd界面) cmd界面显示excel数据 代码 import xlrd import os from prettytable import PrettyTable ...