国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

TP3.2批量上傳文件或圖片 同名沖突問題的解決方法

2024-05-04 23:59:06
字體:
來源:轉載
供稿:網友

本文實例為大家分享了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" </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;}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 永定县| 双城市| 双牌县| 姜堰市| 太谷县| 北票市| 南和县| 东港市| 聊城市| 彭山县| 武威市| 长武县| 德钦县| 石首市| 胶州市| 江津市| 北安市| 子长县| 林州市| 大厂| 兖州市| 泰顺县| 独山县| 克山县| 应城市| 曲水县| 霍山县| 宁津县| 大渡口区| 旺苍县| 周口市| 章丘市| 禹州市| 缙云县| 新巴尔虎右旗| 桂东县| 农安县| 襄城县| 屯留县| 花莲市| 清苑县|