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中使用curl_init函数的说明
Nov 02 PHP
第七章 php自定义函数实现代码
Dec 30 PHP
thinkphp3查询mssql数据库乱码解决方法分享
Feb 11 PHP
thinkphp中ajax与php响应过程详解
Dec 08 PHP
PHP使用array_multisort对多个数组或多维数组进行排序
Dec 16 PHP
使用纯php代码实现页面伪静态的方法
Jul 25 PHP
ThinkPHP安装和设置
Jul 27 PHP
PHP实现简单汉字验证码
Jul 28 PHP
使用YII2框架实现微信公众号中表单提交功能
Sep 04 PHP
yii框架redis结合php实现秒杀效果(实例代码)
Oct 26 PHP
PHP实现用户异地登录提醒功能的方法【基于thinkPHP框架】
Mar 15 PHP
PHP token验证生成原理实例分析
Jun 05 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
PHP实现时间轴函数代码
2011/10/08 PHP
php5.3 不支持 session_register() 此函数已启用的解决方法
2013/11/12 PHP
jquery 查找iframe父级页面元素的实现代码
2011/08/28 Javascript
初学Jquery插件制作 在SageCRM的查询屏幕隐藏部分行的功能
2011/12/26 Javascript
javascript作用域容易记错的两个地方分析
2012/06/22 Javascript
基于JavaScript 类的使用详解
2013/05/07 Javascript
js修改input的type属性问题探讨
2013/10/12 Javascript
Windows 系统下安装和部署Egret的开发环境
2014/07/31 Javascript
js实现的早期滑动门菜单效果代码
2015/08/27 Javascript
JS使用post提交的两种方式
2015/12/03 Javascript
详解js的事件代理(委托)
2016/12/22 Javascript
深入理解node.js http模块
2018/01/24 Javascript
JavaScript事件对象event用法分析
2018/07/27 Javascript
element vue validate验证名称重复 输入框与后台重复验证 特殊字符 字符长度 及注意事项小结【实例代码】
2018/11/20 Javascript
JS实现根据数组对象的某一属性排序操作示例
2019/01/14 Javascript
[00:57]辉夜杯战队访谈宣传片—VG
2015/12/25 DOTA
python实现可以断点续传和并发的ftp程序
2016/09/13 Python
Python实用技巧之列表、字典、集合中根据条件筛选数据详解
2018/07/11 Python
使用python判断你是青少年还是老年人
2018/11/29 Python
Python设计模式之命令模式原理与用法实例分析
2019/01/11 Python
安装好Pycharm后如何配置Python解释器简易教程
2019/06/28 Python
Python列表如何更新值
2020/05/27 Python
pycharm 使用anaconda为默认环境的操作
2021/02/05 Python
纯CSS3发光分享按钮的实现教程
2014/09/06 HTML / CSS
Sunglasses Shop英国:欧洲领先的太阳镜在线供应商之一
2018/09/19 全球购物
利达恒信公司.NET笔试题面试题
2016/03/05 面试题
开会迟到检讨书
2014/01/08 职场文书
幼儿园教师备课制度
2014/01/12 职场文书
网络宣传方案
2014/03/15 职场文书
酒店餐厅2014重阳节活动策划方案
2014/09/16 职场文书
党员个人对照检查材料思想汇报
2014/09/16 职场文书
教育实习指导教师评语
2014/12/31 职场文书
2016秋季小学开学寄语
2015/12/03 职场文书
golang 定时任务方面time.Sleep和time.Tick的优劣对比分析
2021/05/05 Golang
2021年国漫热度排行前十,完美世界上榜,第四是美国动画作品
2022/03/18 国漫
Alexa停服!网站排名将何去何从?目前还没有替代品。
2022/04/15 杂记