溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Thinkphp3.2中如何解決多文件上傳只上傳一張的問(wèn)題

發(fā)布時(shí)間:2021-07-16 11:21:04 來(lái)源:億速云 閱讀:115 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹了Thinkphp3.2中如何解決多文件上傳只上傳一張的問(wèn)題,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

html簡(jiǎn)單頁(yè)面:

Thinkphp3.2中如何解決多文件上傳只上傳一張的問(wèn)題

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é)果顯示:

Thinkphp3.2中如何解決多文件上傳只上傳一張的問(wèn)題Thinkphp3.2中如何解決多文件上傳只上傳一張的問(wèn)題

好多人在進(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

Thinkphp3.2中如何解決多文件上傳只上傳一張的問(wèn)題

若是感覺(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

Thinkphp3.2中如何解決多文件上傳只上傳一張的問(wèn)題

然,命名可根據(jù)需要自行修改,多文件上傳方法很多,這里只是提供個(gè)簡(jiǎn)單便捷的方法!

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Thinkphp3.2中如何解決多文件上傳只上傳一張的問(wèn)題”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI