TP3.2批量上傳文件或圖片 同名沖突問題的解決方法
更新時間:2017年08月01日 14:07:56 作者:PHP急先鋒
這篇文章主要為大家詳細介紹了TP3.2批量上傳文件或圖片,同名沖突問題的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了TP3.2批量上傳文件或圖片的具體代碼,并解決了同名沖突問題,供大家參考,具體內(nèi)容如下
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(),毫秒數(shù)13位 $upload->saveName = 'msectime'; //自定義函數(shù),采用13位毫秒和3位隨機數(shù) $upload->exts = array('jpg', 'gif', 'png', 'jpeg'); $upload->autoSub = true; $upload->subName = array('date','Ymd'); /* 判斷$_FILES[$key]是否:一維數(shù)組,單張圖片上傳 -xzz0703 * 原理:html的input type = "file" name="IDcard"和name="IDcard[]"的區(qū)別: * $_FILES前者到后臺php是二維數(shù)組,后者是三維數(shù)組 */ 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();//如果是二維數(shù)組,使用批量上傳文件的方法 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屬性上面被卡住了,原因就是上傳服務(wù)器處理級別的百萬微秒,很快。
解決:saveName = 13位的毫秒+3位隨機數(shù),完美解決,具體代碼:
//返回當前的毫秒時間戳和隨機數(shù)合并的字符串 function msectime() { list($msec, $sec) = explode(' ', microtime()); $msectime = (float)sprintf('%.0f', (floatval($msec) + floatval($sec)) * 1000).randomkeys(3); return $msectime; }
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Chart.js在Laravel項目中的應(yīng)用示例
本篇文章主要介紹了Chart.js在Laravel項目中的應(yīng)用示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-09-09在win7中搭建Linux+PHP 開發(fā)環(huán)境
這篇文章會以一個概覽的形式介紹我的 PHP 開發(fā)環(huán)境,列出我使用的工具,但配置過程不會太詳細。有需要的朋友可以參考下。2014-10-10Laravel事件系統(tǒng)實現(xiàn)瀏覽量的統(tǒng)計
Laravel的事件系統(tǒng)提供了一種簡單而強大的方式來實現(xiàn)瀏覽量的統(tǒng)計,通過創(chuàng)建瀏覽事件和事件監(jiān)聽器,以及在合適的地方觸發(fā)事件,我們可以輕松地實現(xiàn)網(wǎng)頁瀏覽量的統(tǒng)計功能,本文將介紹如何使用Laravel的事件系統(tǒng)來實現(xiàn)瀏覽量的統(tǒng)計2024-03-03