Téléchargement de fichier : Téléchargement de fichier : Téléchargement de fichier : Téléchargement de fichier :
Maison >développement back-end >tutoriel php >Thinkphp3.2 résout le problème du téléchargement d'un seul fichier lors du téléchargement de plusieurs fichiers
Page simple html :
code 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>
Contrôleur IndexController.class . code 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);// 实例化上传类 $info = $upload->upload(); if(!$info) { $this->error($upload->getError()); }else{ foreach($info as $file){ echo $file['savepath'].$file['savename']; } } }else{ $this->display(); } } }
Le résultat du téléchargement montre :
De nombreuses personnes travaillent sur plusieurs fichiers Lors du téléchargement, j'ai finalement découvert qu'une seule image avait été téléchargée, principalement à cause du nom. Comme elle porte le même nom, il ne reste qu'une seule image à la fin
Solution : Premièrement :
<.>
$config = array( 'maxSize' => 3145728, 'rootPath' => './Uploads/', 'exts' => array('jpg', 'gif', 'png', 'jpeg'), 'autoSub' => true, 'subName' => array('date','Ymd'), 'saveRule' => '', );Laissez la saveRule dans $config vide. Le nom téléchargé est : 59c8d38cdb968.jpg Si vous pensez que ce nom n'est pas fiable. , vous pouvez utiliser la deuxième méthode :
$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'), );Set $config: 'saveName' => array('uniqid', mt_rand(1,999999).' _ '.md5(uniqid())),
Le résultat final est similaire à : 672563_30ad4d8a2aafc832363de8edc1940b5c59c8d44a303f9.jpg
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!