声明常量,用来装网址名字,这样我们就不用每次去手动输入了,我在入口文件中声明的。

defined('__UPLOADURL__')   or define('__UPLOADURL__',  'http://tp5-expert.likeball.top');

html代码

<form action = "{:url('admin/Indexhome/carousel')}" method = 'post' enctype = 'multipart/form-data'>
<input type = 'file' name = 'file[]' multiple = 'multiple' id = '' value = '' />
<input type = 'text' name = 'former' value = '这里需要后台传过来值' />
<input class = 'layui-btn' type = 'submit' value = '提交' />
</form>

控制器(注意前端input框的name值要加[]数组的格式)

<?php
namespace app\admin\controller;
header( 'Content-Type:text/html;charset=utf-8' );
use think\Controller;
use think\Request;
use think\Loader;
class Indexhome extends Controller {//轮播public function carousel() {if ( $_FILES['file']['name'] == '' ) {//如果报错那么使用['goods_carousel']['name'][0]这个来判断是否为空//如果没有上传文件那么上传默认的图片$arr = input( 'former' );//接收默认图片} else {$file = request()->file( 'file' );foreach ( $file as $item ) {//移动到框架应用根目录/uploads/目录下$info = $item->move( ROOT_PATH . 'public' . DS . 'static/uploads' );if ( $info ) {$saveName = str_replace( '\\', '/', $info->getSaveName() );$img = '/static/uploads/' . $saveName;} else {echo '文件上传失败' . '<br/>';}$data[] = explode( ',', $img );}$arr = '';foreach ( $data as $k => $v ) {$arr .= __UPLOADURL__.$v[0].',';//$ggtop[$k]['photo'] = __UPLOADURL__.$v['photo'];}//dump( $arr );// exit;$fin['picture'] = $arr;$fin['time'] = date( 'Y-m-d h:i:s', time() );$end = db( 'carousel' )->where( 'id', 1 )->update( $fin );if ( $end ) {$this->success( '增加成功' );} else {$this->error( '增加失败' );}}}
}

控制器处理刚插入的图片路径,方便前端用ajax请求;

代码:

    public function picture(){$carousel = db('carousel')->where('id', 1)->find();// 消除字段最右边的符号$picture = rtrim($carousel['picture'],",");//将字符串转为数字已逗号","分割$explode = explode("," , $picture);//返回json数据类型,方便前端使用return json($explode);}

用mui请求刚才上传的图片,生成轮播图

前端ajax页面请求读取,我用的是mui的框架所以,下载一个引入一下就可以了,地址 https://github.com/dcloudio/mui

文档说的不是很好,放在根目录,我的是放在根目录如果不是自己在前面拼文件夹名字

 <link rel="stylesheet" href="mui-master/dist/css/mui.min.css" /><script src="mui-master/dist/js/mui.min.js" type="text/javascript" charset="utf-8"></script>

js放在下面不知道的同学注意了(这个js放在最上面和css放在一起)。

<!--轮播开始--><div class="lunbo"><div class="mui-slider"><div class="mui-slider-group mui-slider-loop"></div><div class="mui-slider-indicator"></div></div></div><!--轮播结束--><script type="text/javascript">$(function() {$.ajax({type: 'POST',url: "http://tp5-expert.likeball.top/api/Indexhome/picture",dataType: 'json',success: function(data) {console.log(data);$('.mui-slider-group').empty();$('.mui-slider-indicator').empty();var length = data.length;if(length == 1) {console.log(data[0]);$('.mui-slider-group').append('<div class="mui-slider-item"><img class="lunbo-img" src="' + data[0] + '" /></div>');} else {$('.mui-slider-group').append('<div class="mui-slider-item mui-slider-item-duplicate"><img class="lunbo-img" src="' + data[length - 1] + '" /></div>');$('.mui-slider-indicator').append('<div class="mui-indicator mui-active"></div>');for(var i = 0; i < length; i++) {$('.mui-slider-group').append('<div class="mui-slider-item"><img class="lunbo-img" src="' + data[i] + '" /></div>');}$('.mui-slider-group').append('<div class="mui-slider-item mui-slider-item-duplicate"><img class="lunbo-img" src="' + data[0] + '" /></div>');for(var i = 0; i < length - 1; i++) {$('.mui-slider-indicator').append('<div class="mui-indicator"></div>');}}var gallery = mui('.mui-slider');gallery.slider({interval: 1000 //自动轮播周期,若为0则不自动播放,默认为0;});},error: function(error) {console.log('error');}});})
</script>

tp5 (图片)多图上传并生成可访问的链接相关推荐

  1. php多图片上传封装类,php----图片上传封装类:单张,多张图片上传,生成缩略图...

    <?php /** * 功能: 单张,多张图片上传,生成缩略图 * Class ImgUpload */ class ImgUpload { private $file; //文件信息 priv ...

  2. php 文件预览 水印,PHP图片上传,预览图上传,水印设置

    //设置图片的存放目录 设置水印的存放地址如果愿意,可以给预览图.上传图片分设不同的存储地址 $img_path = $_SERVER['DOCUMENT_ROOT']."/data/img ...

  3. android h5 多图上传源码,JS移动端/H5同时选择多张图片上传并使用canvas压缩图片...

    最近在做一个H5的项目,里边涉及到拍照上传图片的功能以及识别图片的功能,这里对识别图片的功能不做赘述,不属本文范畴.我在做完并上线项目后,同事跟我提了一个要求是可不可以同时选择多张图片上传,我做的时候 ...

  4. Bootstrap+PHP fileinput 实现多图上传 这是ajax上传,只能单张单张图片地上传

    插件及源代码可以在这里下载 http://www.jq22.com/jquery-info5231 下面是根据下载的demo进行补充: 使用bootstrap界面美观,可预览,可拖拽上传,可配合aja ...

  5. 续《用最简单的例子实现jQuery图片即时上传》之多图上传实现

    本用例主要含两个文件(index.html.submit_form_process.php),一个文件夹(files/).特别的,files中含一个报错图片error.jpg,jquery库引用了外链 ...

  6. 九宫格拼图android代码,Android 多图上传后将图片进行九宫格展示的实例代码

    不多说上代码 public abstract class NineGridAdapter { protected Context context; protected List list; publi ...

  7. 通过UEditor多图上传到七牛云出现图片不全,或上传失败bug

    在node-ueditor进行拓展,通过多图上传直接将图片保存到七牛云.在保存的时候通过busboy包进行文件流保存 bug: 发现多张图片上传时候,部分图片出现上传失败,或显示出得图片只有一半的情况 ...

  8. java实现后台直接生成二维码图片并直接上传到七牛云上面

    java实现后台直接生成二维码图片并直接上传到七牛云上面 需求:后台是直接根据唯一核销码生成图片,然后的话直接上传到七牛云,数据库只是保存地址,一开始也想错了,想成了创建临时文件存储生成的图片再上传到 ...

  9. antd vue3 图片上传组件扩展,支持多图上传 图片拖拽排序等

    组件涉及到 vue3.2.vite.Ant Design Vue 3.2.16.Windi CSS样式库.vuedraggable-es拖拽库等 组件功能 图片拖拽 多图上传 自定义图片加载样式 自定 ...

最新文章

  1. ASP.NET 弹出窗口
  2. C# DropDownList 绑定枚举类
  3. java内存优化详解_jvm堆内存优化详解
  4. 爬去哪儿网5A景点评论
  5. Java实现遍历N级树形目录结构
  6. MVC学习笔记1 MVC概述
  7. 计算机科学计算方面分为,计算机方面的专业分为哪些类?【资讯与计算科学】和【电脑科学与技术专业】有什么不同?...
  8. 颜宁的学生都已经副院长了!还发表了学校首篇Nature
  9. PostgreSQL DBA最常用SQL
  10. 笔试刷题BFS和DFS专题
  11. [读书笔记]金融市场基础笔记
  12. 树莓派: oled屏幕字体制作
  13. 中学生计算机编程大赛有哪些,学了编程可以参加哪些含金量高的比赛?
  14. UR机器人装箱姿态_ur机器人坐标系说明来了,感兴趣的朋友可以看看
  15. css3水波纹渐变扩散
  16. EasyNVR无插件IPC摄像机直播方案前端构建之:区分页面是自跳转还是分享依据
  17. Cadence原理图层次化设计
  18. python cv2什么意思_这次一定要记住opencv和cv2是什么及其基础用法
  19. python:HTTPX 库的快速开始
  20. linux lp0设备,P1108打印机插入Linux设备USB口后自动reset

热门文章

  1. 如何去除ctrl f没找到时的提示音【声音难听】 windows
  2. linux 安装中文字体
  3. Android获取手机本地图片并显示
  4. python培训线上课程
  5. 数组[Java](除去一个数组中的某个值并生成一个新数组)
  6. Squid三种工作模式搭建及配置文件解析
  7. 为什么出海人要做TikTok,运营有啥问题和难点吗?
  8. 【游戏调研】忍者必须死3
  9. 网站里的消息提醒是怎么实现的
  10. 什么时候 Python 的 List,Tuple 最后一个 Item 后面要加上一个逗号