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 相关文章推荐
一个程序下载的管理程序(二)
Oct 09 PHP
xml在joomla表单中的应用详解分享
Jul 19 PHP
解析php扩展php_curl.dll不加载的解决方法
Jun 26 PHP
PHP上传文件时文件过大$_FILES为空的解决方法
Nov 26 PHP
php数组查找函数in_array()、array_search()、array_key_exists()使用实例
Apr 29 PHP
php中将一段数据存到一个txt文件中并显示其内容
Aug 15 PHP
PHP中round()函数对浮点数进行四舍五入的方法
Nov 19 PHP
Thinkphp模板标签if和eq的区别和比较实例分析
Jul 01 PHP
再Docker中架设完整的WordPress站点全攻略
Jul 29 PHP
WIFI万能钥匙密码查询接口实例
Sep 28 PHP
盘点PHP和ASP.NET的10大对比!
Dec 24 PHP
php实现保存周期为1天的购物车类
Jul 07 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
ADODB的数据库封包程序库
2006/12/31 PHP
PHPMyAdmin 快速配置方法
2009/05/11 PHP
PHP获取中英混合字符串长度的方法
2014/06/07 PHP
PHP正则之正向预查与反向预查讲解与实例
2020/04/06 PHP
给网站上的广告“加速”显示的方法
2007/04/08 Javascript
简单实用的全选反选按钮例子
2013/10/18 Javascript
JavaScript中的Primitive对象封装介绍
2014/12/31 Javascript
jquery删除指定子元素代码实例
2015/01/13 Javascript
JQuery实现的图文自动轮播效果插件
2015/06/19 Javascript
javascript中Array()数组函数详解
2015/08/23 Javascript
D3.js封装文本实现自动换行和旋转平移等功能
2016/10/14 Javascript
jQuery实现点击任意位置弹出层外关闭弹出层效果
2016/10/19 Javascript
微信小程序 template模板详解及实例代码
2017/03/09 Javascript
详解.vue文件中监听input输入事件(oninput)
2017/09/19 Javascript
Vue.js搭建移动端购物车界面
2020/06/28 Javascript
微信小程序实现点击按钮移动view标签的位置功能示例【附demo源码下载】
2017/12/06 Javascript
解决vue的变量在settimeout内部效果失效的问题
2018/08/30 Javascript
html+jQuery实现拖动滑块图片拼图验证码插件【移动端适用】
2019/09/10 jQuery
Javascript和jquery在selenium的使用过程
2019/10/31 jQuery
vue实现在进行增删改操作后刷新页面
2020/08/05 Javascript
在 Django/Flask 开发服务器上使用 HTTPS
2014/07/03 Python
python多线程实现TCP服务端
2019/09/03 Python
python 有效的括号的实现代码示例
2019/11/11 Python
Python获取统计自己的qq群成员信息的方法
2019/11/15 Python
如何基于python测量代码运行时间
2019/12/25 Python
PyCharm汉化安装及永久激活详细教程(靠谱)
2020/01/16 Python
东芝官网商城:还原日式美学,打造美好生活
2018/12/27 全球购物
Zalando Lounge瑞士:时尚与生活方式购物俱乐部
2020/03/12 全球购物
仓库门卫岗位职责
2013/12/22 职场文书
大学生英语演讲稿
2014/04/24 职场文书
人事行政专员岗位职责
2014/07/23 职场文书
铣工实训报告
2014/11/05 职场文书
销售会议开幕词
2015/01/28 职场文书
国王的演讲观后感
2015/06/03 职场文书
golang中的空接口使用详解
2021/03/30 Python
python-opencv 中值滤波{cv2.medianBlur(src, ksize)}的用法
2021/06/05 Python