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 破解防盗链图片函数
Dec 09 PHP
php 文件上传后缀名与文件类型对照表(几乎涵盖所有文件)
May 16 PHP
php加密算法之实现可逆加密算法和解密分享
Jan 21 PHP
Codeigniter中mkdir创建目录遇到权限问题和解决方法
Jul 25 PHP
Php连接及读取和写入mysql数据库的常用代码
Aug 11 PHP
PHP+jquery+ajax实现即时聊天功能实例
Dec 23 PHP
PHP编程开发怎么提高编程效率 提高PHP编程技术
Nov 09 PHP
Discuz论坛密码与密保加密规则
Dec 19 PHP
Yii2框架实现利用mpdf创建pdf文件功能示例
Feb 08 PHP
laravel 实现向公共模板中传值 (view composer)
Oct 22 PHP
关于Yii2框架跑脚本时内存泄漏问题的分析与解决
Dec 01 PHP
tp5.1 框架数据库-数据集操作实例分析
May 26 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
剧场版动画《PSYCHO-PASS 3 FIRST INSPECTOR》3月27日日本上映!
2020/03/06 日漫
php xml实例 留言本
2009/03/20 PHP
apache mysql php 源码编译使用方法
2012/05/03 PHP
PHP SPL使用方法和他的威力
2013/11/12 PHP
php使用smtp发送支持附件的邮件示例
2014/04/13 PHP
yii2.0之GridView自定义按钮和链接用法
2014/12/15 PHP
php微信开发之百度天气预报
2016/11/18 PHP
php 实现银联商务H5支付的示例代码
2019/10/12 PHP
javascript function、指针及内置对象
2009/02/19 Javascript
jquery $.each 和for怎么跳出循环终止本次循环
2013/09/27 Javascript
jquery使用jquery.zclip插件复制对象的实例教程
2013/12/04 Javascript
js取float型小数点后两位数的方法
2014/01/18 Javascript
《JavaScript函数式编程》读后感
2015/08/07 Javascript
JavaScript实现下拉菜单的显示和隐藏
2016/01/05 Javascript
json格式的javascript对象用法分析
2016/07/04 Javascript
全屏滚动插件fullPage.js使用实例解析
2016/10/21 Javascript
ES6正则表达式的一些新功能总结
2017/05/09 Javascript
利用Javascript实现一套自定义事件机制
2017/12/14 Javascript
浅谈vuejs实现数据驱动视图原理
2018/02/23 Javascript
vue-cli 打包后提交到线上出现 &quot;Uncaught SyntaxError:Unexpected token&quot; 报错
2018/11/06 Javascript
Node.js中console.log()输出彩色字体的方法示例
2019/12/01 Javascript
[08:02]DOTA2牵红线 zhou神抱得美人归
2014/03/22 DOTA
Windows中使用wxPython和py2exe开发Python的GUI程序的实例教程
2016/07/11 Python
pandas 转换成行列表进行读取与Nan处理的方法
2018/10/30 Python
Python从文件中读取数据的方法讲解
2019/02/14 Python
使用python将mysql数据库的数据转换为json数据的方法
2019/07/01 Python
Python空间数据处理之GDAL读写遥感图像
2019/08/01 Python
Pytorch高阶OP操作where,gather原理
2020/04/30 Python
python db类用法说明
2020/07/07 Python
html5教程调用绘图api画简单的圆形代码分享
2013/12/04 HTML / CSS
基于HTML5的WebGL实现json和echarts图表展现在同一个界面
2017/10/26 HTML / CSS
西班牙英格列斯百货法国官网:El Corte Inglés法国
2017/07/09 全球购物
安全演讲稿开场白
2014/08/25 职场文书
基层党支部承诺书
2015/04/30 职场文书
文艺部部长竞选稿
2015/11/21 职场文书
创业计划书之旅游网站
2019/09/06 职场文书