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 相关文章推荐
使用ThinkPHP自带的Http类下载远程图片到本地的实现代码
Aug 02 PHP
PHP 第三节 变量介绍
Apr 28 PHP
(PHP实现)只使用++运算实现加法,减法,乘法,除法
Jun 27 PHP
php使浏览器直接下载pdf文件的方法
Nov 15 PHP
php格式化电话号码的方法
Apr 24 PHP
全面解析PHP验证码的实现原理 附php验证码小案例
Aug 17 PHP
PHP实现图的邻接矩阵表示及几种简单遍历算法分析
Nov 24 PHP
php+redis实现商城秒杀功能
Nov 19 PHP
PHP+Ajax实现的检测用户名功能简单示例
Feb 12 PHP
Laravel访问出错提示:`Warning: require(/vendor/autoload.php): failed to open stream: No such file or di解决方法
Apr 02 PHP
php设计模式之适配器模式实例分析【星际争霸游戏案例】
Apr 07 PHP
PHP实现简单日历类编写
Aug 28 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制作静态网站的模板框架(四)
2006/10/09 PHP
解析dedeCMS验证码的实现代码
2013/06/07 PHP
使用dump函数,给php加断点测试
2013/06/25 PHP
Thinkphp关闭缓存的方法
2015/06/26 PHP
Linux下从零开始安装配置Nginx服务器+PHP开发环境
2015/12/21 PHP
PHP基于openssl实现的非对称加密操作示例
2019/01/11 PHP
jquery实现增加删除行的方法
2015/02/03 Javascript
深入理解JavaScript中的对象
2015/06/04 Javascript
jquery实现邮箱自动填充提示功能
2015/11/17 Javascript
jQuery实现选项联动轮播效果【附实例】
2016/04/19 Javascript
遍历js中对象的属性和值的实例
2016/11/21 Javascript
JS数组排序方法实例分析
2016/12/16 Javascript
[Bootstrap-插件使用]Jcrop+fileinput组合实现头像上传功能实例代码
2016/12/20 Javascript
完美实现js拖拽效果 return false用法详解
2017/07/28 Javascript
jquery实现企业定位式导航效果
2018/01/01 jQuery
详解Vue开发微信H5微信分享签名失败问题解决方案
2018/08/09 Javascript
微信小程序实现下拉菜单切换效果
2020/03/30 Javascript
JS中创建自定义类型的常用模式总结【工厂模式,构造函数模式,原型模式,动态原型模式等】
2019/01/19 Javascript
vue项目中运用webpack动态配置打包多种环境域名的方法
2019/06/24 Javascript
[36:20]KG vs SECRET 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
Python三元运算实现方法
2015/01/12 Python
Python查找数组中数值和下标相等的元素示例【二分查找】
2019/02/13 Python
详解python3中用HTMLTestRunner.py报ImportError: No module named 'StringIO'如何解决
2019/08/27 Python
最新2019Pycharm安装教程 亲测
2020/02/28 Python
Python序列化pickle模块使用详解
2020/03/05 Python
Python多线程Threading、子线程与守护线程实例详解
2020/03/24 Python
windows上彻底删除jupyter notebook的实现
2020/04/13 Python
python实现模拟器爬取抖音评论数据的示例代码
2021/01/06 Python
HTML5 Canvas基本线条绘制的实例教程
2016/03/17 HTML / CSS
马来西亚网上美容店:Hermo.my
2017/11/25 全球购物
护士自我介绍信
2014/01/13 职场文书
单位绩效考核方案
2014/05/11 职场文书
财务负责人岗位职责
2015/02/03 职场文书
教师实习自我鉴定总结
2019/08/20 职场文书
祝福语集锦:给满月宝宝的祝福语
2019/11/20 职场文书
Django数据库(SQlite)基本入门使用教程
2022/07/07 Python