TP3.2批量上传文件或图片 同名冲突问题的解决方法

发布时间 - 2026-01-11 02:35:41    点击率:

本文实例为大家分享了TP3.2批量上传文件或图片的具体代码,并解决了同名冲突问题,供大家参考,具体内容如下

1、html

<form action="{:U('Upload/index')}" enctype="multipart/form-data" method="post" >
  <p><input type="file" id="file3" name="ID[]" /></p>
  <p><input type="file" id="file4" name="ID[]" /></p>
  <input type="submit" value="上传" />
  <p><img id="img1" alt="" src="/Public/IMAGE/empty_thumb.gif" /></p>
 </form>


2、php

public function index(){
       if(!empty($_FILES)){
        $upload = new \Think\Upload();// 实例化上传类
        $upload->maxSize = 3145728;
        $upload->rootPath = './Uploads/';
        $upload->savePath = 'image/';
        //$upload->saveName = date('YmdHis').'-'.randomkeys(3);//msectime(),毫秒数13位
        $upload->saveName = 'msectime';   //自定义函数,采用13位毫秒和3位随机数
        $upload->exts   = array('jpg', 'gif', 'png', 'jpeg');
        $upload->autoSub = true;
        $upload->subName = array('date','Ymd');
        
        /* 判断$_FILES[$key]是否:一维数组,单张图片上传 -xzz0703 
         * 原理:html的input type = "file" name="IDcard"和name="IDcard[]"的区别:
         *    $_FILES前者到后台php是二维数组,后者是三维数组 
        */
        foreach($_FILES as $key=>$value){
          if(count($_FILES[$key]) == count($_FILES[$key],1)){
            $info = $upload->uploadOne($_FILES[$key]);
            if($info){
              echo json_encode(array('code'=>200,'id'=>$img_id,'name'=>$img_name));exit;
            }else{
              echo json_encode(array('code'=>0,'msg'=>$upload->getError()));exit;
            }
          }
        }
        if(count($_FILES)){
          $info = $upload->upload();//如果是二维数组,使用批量上传文件的方法
          if(!$info){
            $this->error($upload->getError());
            exit;
          }
          $img_url = '/Uploads/'.$info[0]['savepath'].$info[0]['savename'];
          $res = array('imgPath1'=>$img_url,code=>$img_url,'msg'=>$info);
          echo json_encode($res);
        }        
      }   
}

3、核心:很多朋友在使用TP3.2框架的时候,在saveName属性上面被卡住了,原因就是上传服务器处理级别的百万微秒,很快。

解决:saveName = 13位的毫秒+3位随机数,完美解决,具体代码:

//返回当前的毫秒时间戳和随机数合并的字符串
function msectime() {
  list($msec, $sec) = explode(' ', microtime());
  $msectime = (float)sprintf('%.0f', (floatval($msec) + floatval($sec)) * 1000).randomkeys(3);
  return $msectime;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# TP3.2批量上传文件或图片  # TP3.2批量上传文件  # TP3.2上传文件  # Android使用OkHttp上传图片的实例代码  # C# 中实现ftp 图片上传功能(多快好省)  # Android中Okhttp3实现上传多张图片同时传递参数  # 关于安卓手机微信浏览器中使用XMLHttpRequest 2上传图片显示字节数为0的解决办法  # iOS通过http post上传图片  # http图片上传安全性问题 根据ContentType (MIME) 判断其实不准确、不安全  # ThinkPHP5.0 图片上传生成缩略图实例代码说明  # 随机数  # 上传  # 上传文件  # 自定义  # 大家分享  # 具体内容  # 大家多多  # 图片上传  # 卡住了  # 解决了  # alt  # src  # IMAGE  # Public  # empty_thumb  # submit  # ID  # img  # floatval  # maxSize 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: JS实现鼠标移上去显示图片或微信二维码  高防服务器租用如何选择配置与防御等级?  如何在IIS7中新建站点?详细步骤解析  如何正确选择百度移动适配建站域名?  如何为不同团队 ID 动态生成多个“认领值班”按钮  Laravel如何使用Blade组件和插槽?(Component代码示例)  Linux系统命令中tree命令详解  活动邀请函制作网站有哪些,活动邀请函文案?  PHP 500报错的快速解决方法  Laravel观察者模式如何使用_Laravel Model Observer配置  Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门  新三国志曹操传主线渭水交兵攻略  济南网站建设制作公司,室内设计网站一般都有哪些功能?  如何快速选择适合个人网站的云服务器配置?  WEB开发之注册页面验证码倒计时代码的实现  猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?  canvas 画布在主流浏览器中的尺寸限制详细介绍  Laravel模型关联查询教程_Laravel Eloquent一对多关联写法  香港服务器网站卡顿?如何解决网络延迟与负载问题?  三星、SK海力士获美批准:可向中国出口芯片制造设备  如何破解联通资金短缺导致的基站建设难题?  PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)  详解Huffman编码算法之Java实现  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  百度输入法全感官ai怎么关 百度输入法全感官皮肤关闭  Laravel PHP版本要求一览_Laravel各版本环境要求对照  Laravel如何处理文件下载请求?(Response示例)  手机软键盘弹出时影响布局的解决方法  简单实现Android验证码  Laravel中间件如何使用_Laravel自定义中间件实现权限控制  HTML 中动态设置元素 name 属性的正确语法详解  Laravel定时任务怎么设置_Laravel Crontab调度器配置  如何在 Pandas 中基于一列条件计算另一列的分组均值  浅述节点的创建及常见功能的实现  LinuxCD持续部署教程_自动发布与回滚机制  Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤  如何在局域网内绑定自建网站域名?  如何用y主机助手快速搭建网站?  Laravel API资源类怎么用_Laravel API Resource数据转换  ChatGPT 4.0官网入口地址 ChatGPT在线体验官网  linux top下的 minerd 木马清除方法  Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道  Laravel如何使用Gate和Policy进行授权?(权限控制)  python中快速进行多个字符替换的方法小结  谷歌Google入口永久地址_Google搜索引擎官网首页永久入口  JS去除重复并统计数量的实现方法  厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?  Laravel如何使用软删除(Soft Deletes)功能_Eloquent软删除与数据恢复方法  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  Laravel用户认证怎么做_Laravel Breeze脚手架快速实现登录注册功能