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
从MySQL数据库表中取出随机数据的代码
Sep 05 PHP
php中通过curl模拟登陆discuz论坛的实现代码
Feb 16 PHP
PHP中将字符串转化为整数(int) intval() printf() 性能测试
Mar 20 PHP
PHP中__get()和__set()的用法实例详解
Jun 04 PHP
PHP序列化/对象注入漏洞分析
Apr 18 PHP
PHPExcel中文帮助手册|PHPExcel使用方法(分享)
Jun 09 PHP
PHP排序算法之简单选择排序(Simple Selection Sort)实例分析
Apr 20 PHP
对laravel的csrf 防御机制详解,及form中csrf_token()的存在介绍
Oct 24 PHP
TP5框架简单登录功能实现方法示例
Oct 31 PHP
php生成短网址/短链接原理和用法实例分析
May 29 PHP
一文搞懂PHP中的抽象类和接口
May 25 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电台频率大全 - 22 重庆市
2020/03/11 无线电
如何对PHP程序中的常见漏洞进行攻击(下)
2006/10/09 PHP
php 什么是PEAR?(第二篇)
2009/03/19 PHP
php access 数据连接与读取保存编辑数据的实现代码
2010/05/12 PHP
php入门之连接mysql数据库的一个类
2012/04/21 PHP
PHP获取用户的浏览器与操作系统信息的代码
2012/09/04 PHP
ThinkPHP中URL路径访问与模块控制器之间的关系
2014/08/23 PHP
PHP获取表单所有复选框的值的方法
2014/08/28 PHP
PHP实现负载均衡session共享redis缓存操作示例
2018/08/22 PHP
Prototype Array对象 学习
2009/07/19 Javascript
ExtJS4中使用mixins实现多继承示例
2013/12/03 Javascript
JavaScript解析json格式数据简单示例
2014/12/09 Javascript
AngularJS基础 ng-cloak 指令简单示例
2016/08/01 Javascript
bootstrap datepicker 与bootstrapValidator同时使用时选择日期后无法正常触发校验的解决思路
2016/09/28 Javascript
bootstrap模态框实现拖拽效果
2016/12/14 Javascript
react.js CMS 删除功能的实现方法
2017/04/17 Javascript
vue 中基于html5 drag drap的拖放效果案例分析
2018/11/01 Javascript
Element Table的row-class-name无效与动态高亮显示选中行背景色
2018/11/30 Javascript
jQuery实现图片下载代码
2019/07/18 jQuery
angular组件间通讯的实现方法示例
2020/05/07 Javascript
[56:48]FNATIC vs EG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Python  __getattr__与__setattr__使用方法
2008/09/06 Python
Python中实现对Timestamp和Datetime及UTC时间之间的转换
2015/04/08 Python
Python实现Smtplib发送带有各种附件的邮件实例
2017/06/05 Python
使用Pytorch来拟合函数方式
2020/01/14 Python
Python如何将图像音视频等资源文件隐藏在代码中(小技巧)
2020/02/16 Python
土耳其国际性时尚购物网站:Modanisa
2018/01/19 全球购物
极度干燥澳大利亚官方网站:Superdry澳大利亚
2019/03/28 全球购物
农村婚礼证婚词
2014/01/10 职场文书
一个大学生十年的职业规划
2014/01/17 职场文书
5.1手机促销活动
2014/01/17 职场文书
暑期社会实践方案
2014/02/05 职场文书
房屋财产继承协议书范本
2014/11/03 职场文书
2015年幼儿园后勤工作总结
2015/04/25 职场文书
pandas 实现将NaN转换为None
2021/05/14 Python
利用Python脚本写端口扫描器socket,python-nmap
2022/07/23 Python