Thinkphp3.2简单解决多文件上传只上传一张的问题


Posted in PHP onSeptember 26, 2017

html简单页面:

Thinkphp3.2简单解决多文件上传只上传一张的问题

index.html代码:

<form action="{:U('index/upload')}" method="post" enctype="multipart/form-data">
 文件上传:<input type="file" name = "test[]">
 文件上传:<input type="file" name = "test[]">
 文件上传:<input type="file" name = "test[]">
 文件上传:<input type="file" name = "test[]">
 文件上传:<input type="file" name = "test[]">
 文件上传:<input type="file" name = "test[]">
 文件上传:<input type="file" name = "test[]">
 文件上传:<input type="file" name = "test[]">
 文件上传:<input type="file" name = "test[]">
 文件上传:<input type="file" name = "test[]">
 文件上传:<input type="file" name = "test[]">
 文件上传:<input type="file" name = "test[]">
 <input type="submit" value = "提交">
</form>

控制器IndexController.class.php代码:

<?php
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller {
 public function index(){
  $this->display();
 }
 public function upload(){
  if(IS_POST){
   $config = array(
    'maxSize' => 3145728,
    'rootPath' => './Uploads/',
    'savePath' => '',
    'saveName' => array('uniqid', mt_rand(1,999999).'_'.md5(uniqid())),
    'exts'  => array('jpg', 'gif', 'png', 'jpeg'),
    'autoSub' => true,
    'subName' => array('date','Ymd'),
   );
   $upload = new \Think\Upload($config);// 实例化上传类
   $info = $upload->upload();
   if(!$info) {
    $this->error($upload->getError());
   }else{
    foreach($info as $file){
     echo $file['savepath'].$file['savename'];
    }
   }
  }else{
   $this->display();
  }
 }
}

上传结果显示:

Thinkphp3.2简单解决多文件上传只上传一张的问题Thinkphp3.2简单解决多文件上传只上传一张的问题

好多人在进行多文件上传的时候,最后发现只是上传了一张,主要就是命名所致,因为是同样的名字,所以最后就剩一张图片
解决方法:第一种:

$config = array(
    'maxSize' => 3145728,
    'rootPath' => './Uploads/',
    'exts'  => array('jpg', 'gif', 'png', 'jpeg'),
    'autoSub' => true,
    'subName' => array('date','Ymd'),
    'saveRule' => '',
   );

置空$config里面的saveRule,上传后的名称为:59c8d38cdb968.jpg

Thinkphp3.2简单解决多文件上传只上传一张的问题

若是感觉这种命名不可靠,可采取第二种方法:

$config = array(
    'maxSize' => 3145728,
    'rootPath' => './Uploads/',
    'saveName' => array('uniqid', mt_rand(1,999999).'_'.md5(uniqid())),
    'exts'  => array('jpg', 'gif', 'png', 'jpeg'),
    'autoSub' => true,
    'subName' => array('date','Ymd'),
   );

设置$config中: 'saveName' => array('uniqid', mt_rand(1,999999).'_'.md5(uniqid())),

其最后的结果类似于:672563_30ad4d8a2aafc832363de8edc1940b5c59c8d44a303f9.jpg

Thinkphp3.2简单解决多文件上传只上传一张的问题

然,命名可根据需要自行修改,多文件上传方法很多,这里只是提供个简单便捷的方法!

以上这篇Thinkphp3.2简单解决多文件上传只上传一张的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
基于PHP与XML的PDF文档生成技术
Oct 09 PHP
桌面中心(二)数据库写入
Oct 09 PHP
利用static实现表格的颜色隔行显示的代码
Sep 02 PHP
PHP 强制下载文件代码
Oct 24 PHP
ThinkPHP验证码使用简明教程
Mar 05 PHP
使用pthreads实现真正的PHP多线程(需PHP5.3以上版本)
May 05 PHP
两个php日期控制类实例
Dec 09 PHP
php使用指定字符列表生成随机字符串的方法
Apr 18 PHP
浅谈PHP中output_buffering
Jul 13 PHP
thinkphp如何获取客户端IP
Nov 03 PHP
php 比较获取两个数组相同和不同元素的例子(交集和差集)
Oct 18 PHP
Thinkphp 框架基础之入口文件功能、定义与用法分析
Apr 27 PHP
基于ThinkPHP5.0实现图片上传插件
Sep 25 #PHP
Laravel中encrypt和decrypt的实现方法
Sep 24 #PHP
php安装扩展mysqli的实现步骤及报错解决办法
Sep 23 #PHP
php mysql PDO 查询操作的实例详解
Sep 23 #PHP
PHP实现权限管理功能示例
Sep 22 #PHP
php生成毫秒时间戳的实例讲解
Sep 22 #PHP
PHP在同一域名下两个不同的项目做独立登录机制详解
Sep 22 #PHP
You might like
全国FM电台频率大全 - 13 福建省
2020/03/11 无线电
mysql_connect localhost和127.0.0.1的区别(网络层阐述)
2015/03/26 PHP
Javascript YUI 读码日记之 YAHOO.util.Dom - Part.3
2008/03/22 Javascript
javascript中的107个基础知识收集整理 推荐
2010/03/29 Javascript
nodejs的require模块(文件模块/核心模块)及路径介绍
2013/01/14 NodeJs
基于jQuery实现带动画效果超炫酷的弹出对话框(附源码下载)
2016/02/22 Javascript
JavaScript事件代理和委托详解
2016/04/08 Javascript
浅析Bootstrap组件之面板组件
2016/05/04 Javascript
详解vue移动端日期选择组件
2018/02/22 Javascript
vue.js通过路由实现经典的三栏布局实例代码
2018/07/08 Javascript
实例详解Vue项目使用eslint + prettier规范代码风格
2018/08/20 Javascript
layUI实现列表查询功能
2019/07/27 Javascript
JQuery发送ajax请求时中文乱码问题解决
2019/11/14 jQuery
[01:02:20]Mineski vs TNC 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Python实现基于权重的随机数2种方法
2015/04/28 Python
Python编程实现二叉树及七种遍历方法详解
2017/06/02 Python
Python搜索引擎实现原理和方法
2017/11/27 Python
python reduce 函数使用详解
2017/12/05 Python
python使用锁访问共享变量实例解析
2018/02/08 Python
Django之Mode的外键自关联和引用未定义的Model方法
2018/12/15 Python
Python 实现两个服务器之间文件的上传方法
2019/02/13 Python
使用Python opencv实现视频与图片的相互转换
2019/07/08 Python
Python datetime包函数简单介绍
2019/08/28 Python
Pycharm中配置远程Docker运行环境的教程图解
2020/06/11 Python
解决django migrate报错ORA-02000: missing ALWAYS keyword
2020/07/02 Python
关于HTML5语义标签的实践(blog页面)
2016/07/12 HTML / CSS
Cecil Mode法国在线商店:女性时尚
2021/01/08 全球购物
门诊手术室工作制度
2014/01/30 职场文书
小学教师听课制度
2014/02/01 职场文书
运动会致辞稿50字
2014/02/04 职场文书
清扬洗发水广告词
2014/03/14 职场文书
促销活动总结怎么写
2014/06/25 职场文书
2014年乡镇人大工作总结
2014/11/25 职场文书
2015暑期社会实践通讯稿
2015/07/18 职场文书
2017元旦晚会开幕词
2016/03/03 职场文书
VUE递归树形实现多级列表
2022/07/15 Vue.js