Heim  >  Artikel  >  Backend-Entwicklung  >  Analyse des Problems von Thinkphp3.2, das einfach das Problem des Hochladens mehrerer Dateien und des Hochladens nur einer Datei löst

Analyse des Problems von Thinkphp3.2, das einfach das Problem des Hochladens mehrerer Dateien und des Hochladens nur einer Datei löst

不言
不言Original
2018-06-08 13:42:191834Durchsuche

Der folgende Artikel bringt Ihnen einen Artikel mit Thinkphp3.2, um das Problem des Hochladens nur einer Datei beim Hochladen mehrerer Dateien einfach zu lösen. Der Inhalt ist ziemlich gut, daher werde ich ihn jetzt mit Ihnen teilen und als Referenz verwenden.

Einfache HTML-Seite:

index.html-Code:

<form action="{:U(&#39;index/upload&#39;)}" 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>

Controller IndexController.class.php-Code:

<?php
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller {
 public function index(){
  $this->display();
 }
 public function upload(){
  if(IS_POST){
   $config = array(
    &#39;maxSize&#39; => 3145728,
    &#39;rootPath&#39; => &#39;./Uploads/&#39;,
    &#39;savePath&#39; => &#39;&#39;,
    &#39;saveName&#39; => array(&#39;uniqid&#39;, mt_rand(1,999999).&#39;_&#39;.md5(uniqid())),
    &#39;exts&#39;  => array(&#39;jpg&#39;, &#39;gif&#39;, &#39;png&#39;, &#39;jpeg&#39;),
    &#39;autoSub&#39; => true,
    &#39;subName&#39; => array(&#39;date&#39;,&#39;Ymd&#39;),
   );
   $upload = new \Think\Upload($config);// 实例化上传类
   $info = $upload->upload();
   if(!$info) {
    $this->error($upload->getError());
   }else{
    foreach($info as $file){
     echo $file[&#39;savepath&#39;].$file[&#39;savename&#39;];
    }
   }
  }else{
   $this->display();
  }
 }
}

Ergebnisanzeige hochladen:

Wenn viele Leute mehrere Dateien hochladen, stellen sie schließlich fest, dass sie nur eine Datei hochgeladen haben, hauptsächlich wegen der Benennung, weil sie gleich ist Name, sodass am Ende nur noch ein Bild übrig ist
Lösung: Erste Methode:

$config = array(
    &#39;maxSize&#39; => 3145728,
    &#39;rootPath&#39; => &#39;./Uploads/&#39;,
    &#39;exts&#39;  => array(&#39;jpg&#39;, &#39;gif&#39;, &#39;png&#39;, &#39;jpeg&#39;),
    &#39;autoSub&#39; => true,
    &#39;subName&#39; => array(&#39;date&#39;,&#39;Ymd&#39;),
    &#39;saveRule&#39; => &#39;&#39;,
   );

SaveRule in $config leeren, nach dem Hochladen Der Name ist : 59c8d38cdb968.jpg

Wenn Sie der Meinung sind, dass diese Benennung unzuverlässig ist, können Sie die zweite Methode wählen:

$config = array(
    &#39;maxSize&#39; => 3145728,
    &#39;rootPath&#39; => &#39;./Uploads/&#39;,
    &#39;saveName&#39; => array(&#39;uniqid&#39;, mt_rand(1,999999).&#39;_&#39;.md5(uniqid())),
    &#39;exts&#39;  => array(&#39;jpg&#39;, &#39;gif&#39;, &#39;png&#39;, &#39;jpeg&#39;),
    &#39;autoSub&#39; => true,
    &#39;subName&#39; => array(&#39;date&#39;,&#39;Ymd&#39;),
   );

Eingestellt in $config: 'saveName' => array('uniqid', mt_rand(1,999999).'_'.md5(uniqid())),

Das letzte Das Ergebnis ähnelt: 672563_30ad4d8a2aafc832363de8edc1940b5c59c8d44a303f9.jpg

Natürlich kann die Benennung nach Bedarf geändert werden und praktische Methode!

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website.

Verwandte Empfehlungen:

Thinkphp5-Methode zum Hochladen von Bildern und Generieren von Miniaturansichten

Anzeige und Aktualisierung des ThinkPHP3.2.3-Bestätigungscodes und überprüfen

THinkPHP-Methode zum Erhalten der Client-IP- und IP-Adressabfrage

Das obige ist der detaillierte Inhalt vonAnalyse des Problems von Thinkphp3.2, das einfach das Problem des Hochladens mehrerer Dateien und des Hochladens nur einer Datei löst. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn