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 相关文章推荐
关于Iframe如何跨域访问Cookie和Session的解决方法
Apr 15 PHP
Mysql的Root密码忘记,查看或修改的解决方法(图文介绍)
Jun 14 PHP
CI框架集成Smarty的方法分析
May 17 PHP
php处理json格式数据经典案例总结
May 19 PHP
CakePHP框架Session设置方法分析
Feb 23 PHP
PHP基于redis计数器类定义与用法示例
Feb 08 PHP
Yii2压缩PHP中模板代码的输出问题
Aug 28 PHP
PHP简单验证码功能机制实例详解
Mar 27 PHP
thinkphp5.1框架容器与依赖注入实例分析
Jul 23 PHP
php使用yield对性能提升的测试实例分析
Sep 19 PHP
laravel中的fillable和guarded属性详解
Oct 23 PHP
PHP单元测试配置与使用方法详解
Dec 27 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
JQuery 初体验(建议学习jquery)
2009/04/25 Javascript
javascript json2 使用方法
2010/03/16 Javascript
jquery 事件对象属性小结
2010/04/27 Javascript
DLL+ ActiveX控件+WEB页面调用例子
2010/08/07 Javascript
仿谷歌主页js动画效果实现代码
2013/07/14 Javascript
php和js对数据库图片进行等比缩放示例
2014/04/28 Javascript
JS实现文字向下滚动完整实例
2015/02/06 Javascript
JavaScript中length属性的使用方法
2015/06/05 Javascript
javascript作用域链(Scope Chain)用法实例解析
2015/11/30 Javascript
vue.js初学入门教程(1)
2016/11/03 Javascript
详解vue父子模版嵌套案例
2017/03/04 Javascript
ES6新特性四:变量的解构赋值实例
2017/04/21 Javascript
Vue中的Vux配置指南
2017/12/08 Javascript
bmob js-sdk 在vue中的使用教程
2018/01/21 Javascript
ejsExcel模板在Vue.js项目中的实际运用
2018/01/27 Javascript
微信小程序实现留言板(Storage)
2018/11/02 Javascript
javascript sort()对数组中的元素进行排序详解
2019/10/13 Javascript
python中ConfigParse模块的用法
2014/09/29 Python
浅析Python中的序列化存储的方法
2015/04/28 Python
python字符串对其居中显示的方法
2015/07/11 Python
python 的列表遍历删除实现代码
2020/04/12 Python
python logging 日志轮转文件不删除问题的解决方法
2016/08/02 Python
Python操作SQLite数据库的方法详解
2017/06/16 Python
python 调用c语言函数的方法
2017/09/29 Python
解决pandas使用read_csv()读取文件遇到的问题
2018/06/15 Python
Python 获取div标签中的文字实例
2018/12/20 Python
Windows系统Python直接调用C++ DLL的方法
2019/08/01 Python
django项目中使用手机号登录的实例代码
2019/08/15 Python
Numpy将二维数组添加到空数组的实现
2019/12/05 Python
医院护士专业个人的求职信
2013/12/09 职场文书
护校行动方案
2014/05/31 职场文书
2014年建筑工作总结
2014/11/26 职场文书
2015年保险业务员工作总结
2015/05/27 职场文书
幼儿园大班开学寄语(2016秋季)
2015/12/03 职场文书
vue中控制mock在开发环境使用,在生产环境禁用方式
2022/04/06 Vue.js
vue代码分块和懒加载非必要资源文件
2022/04/11 Vue.js