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 相关文章推荐
实用函数4
Nov 08 PHP
php XPath对XML文件查找及修改实现代码
Jul 27 PHP
PHP获取http请求的头信息实现步骤
Dec 16 PHP
PHP基于GD库的缩略图生成代码(支持jpg,gif,png格式)
Jun 19 PHP
ThinkPHP连接数据库及主从数据库的设置教程
Aug 22 PHP
php里array_work用法实例分析
Jul 13 PHP
PHP随机获取未被微信屏蔽的域名(微信域名检测)
Mar 19 PHP
php 生成加密公钥加密私钥实例详解
Jun 16 PHP
Laravel学习教程之从入口到输出过程详解
Aug 27 PHP
Laravel框架使用Seeder实现自动填充数据功能
Jun 13 PHP
深入分析PHP设计模式
Jun 15 PHP
常见的5个PHP编码小陋习以及优化实例讲解
Feb 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
受疫情影响 动画《Re从零开始的异世界生活》第二季延期至7月
2020/03/10 日漫
DOTA2 探索永无止境 玩家自创强悍插眼攻略
2020/04/20 DOTA
PHP 在线翻译函数代码
2009/05/07 PHP
php数组相加 array(“a”)+array(“b”)结果还是array(“a”)
2012/09/19 PHP
PHP跳转页面的几种实现方法详解
2013/06/08 PHP
php通过字符串调用函数示例
2014/03/02 PHP
修改ThinkPHP缓存为Memcache的方法
2014/06/25 PHP
PHP实现简单爬虫的方法
2015/07/29 PHP
PHP后期静态绑定之self::限制实例分析
2018/12/21 PHP
js判断ie版本号的简单实现代码
2014/03/05 Javascript
JS &amp; JQuery 动态添加 select option
2016/06/08 Javascript
Bootstrap中的Panel和Table全面解析
2016/06/13 Javascript
axios进阶实践之利用最优雅的方式写ajax请求
2017/12/20 Javascript
JavaScript笛卡尔积超简单实现算法示例
2018/07/30 Javascript
JS加密插件CryptoJS实现的Base64加密示例
2020/08/16 Javascript
React注册倒计时功能的实现
2018/09/06 Javascript
Vue中 v-if 和v-else-if页面加载出现闪现的问题及解决方法
2018/10/12 Javascript
vue登录以及权限验证相关的实现
2019/10/25 Javascript
jQuery实现简易QQ聊天框
2020/02/10 jQuery
element-ui树形控件后台返回的数据+生成组织树的工具类
2020/03/05 Javascript
微信小程序实现底部弹出模态框
2020/11/18 Javascript
[56:57]LGD vs VP 2019DOTA2国际邀请赛淘汰赛 胜者组赛BO3 第一场 8.20.mp4
2019/08/22 DOTA
Python使用Pycrypto库进行RSA加密的方法详解
2016/06/06 Python
深入理解Python异常处理的哲学
2019/02/01 Python
关于初始种子自动选取的区域生长实例(python+opencv)
2020/01/16 Python
Matplotlib 绘制饼图解决文字重叠的方法
2020/07/24 Python
Python使用pycharm导入pymysql教程
2020/09/16 Python
浅析两列自适应布局的3种思路
2016/05/03 HTML / CSS
Html5 canvas画图白板踩坑
2020/06/01 HTML / CSS
中式婚礼主持词
2014/03/13 职场文书
课例研修方案
2014/05/31 职场文书
上班时间打瞌睡检讨书
2014/09/26 职场文书
酒店客房服务员岗位职责
2015/04/09 职场文书
婚宴祝酒词大全
2015/08/10 职场文书
婚前协议书怎么写,才具有法律效力呢 ?
2019/06/28 职场文书
SpringBoot详解自定义Stater的应用
2022/07/15 Java/Android