您好,登錄后才能下訂單哦!
這篇文章主要介紹了Thinkphp3.2中如何解決多文件上傳只上傳一張的問(wèn)題,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
html簡(jiǎn)單頁(yè)面:
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);// 實(shí)例化上傳類 $info = $upload->upload(); if(!$info) { $this->error($upload->getError()); }else{ foreach($info as $file){ echo $file['savepath'].$file['savename']; } } }else{ $this->display(); } } }
上傳結(jié)果顯示:
好多人在進(jìn)行多文件上傳的時(shí)候,最后發(fā)現(xiàn)只是上傳了一張,主要就是命名所致,因?yàn)槭峭瑯拥拿?,所以最后就剩一張圖片
解決方法:第一種:
$config = array( 'maxSize' => 3145728, 'rootPath' => './Uploads/', 'exts' => array('jpg', 'gif', 'png', 'jpeg'), 'autoSub' => true, 'subName' => array('date','Ymd'), 'saveRule' => '', );
置空$config里面的saveRule,上傳后的名稱為:59c8d38cdb968.jpg
若是感覺(jué)這種命名不可靠,可采取第二種方法:
$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'), );
設(shè)置$config中: 'saveName' => array('uniqid', mt_rand(1,999999).'_'.md5(uniqid())),
其最后的結(jié)果類似于:672563_30ad4d8a2aafc832363de8edc1940b5c59c8d44a303f9.jpg
然,命名可根據(jù)需要自行修改,多文件上傳方法很多,這里只是提供個(gè)簡(jiǎn)單便捷的方法!
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Thinkphp3.2中如何解決多文件上傳只上傳一張的問(wèn)題”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。