다음 글에서는 여러 파일을 업로드할 때 파일 하나만 업로드하는 문제를 Thinkphp3.2를 사용하여 간단하게 해결하는 글을 소개합니다. 내용이 꽤 괜찮아서 지금 공유해서 참고용으로 올려드리겠습니다.
html 단순 페이지:
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>
Controller 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);// 实例化上传类 $info = $upload->upload(); if(!$info) { $this->error($upload->getError()); }else{ foreach($info as $file){ echo $file['savepath'].$file['savename']; } } }else{ $this->display(); } } }
업로드 결과는 다음과 같습니다.
많은 분들이 파일을 여러개 올리다보니 결국 사진이 한장밖에 안올라가네요. 이름이 똑같아서 결국 사진이 한장 남네요. :
첫 번째 방법:
$config = array( 'maxSize' => 3145728, 'rootPath' => './Uploads/', 'exts' => array('jpg', 'gif', 'png', 'jpeg'), 'autoSub' => true, 'subName' => array('date','Ymd'), 'saveRule' => '', );$config의 saveRule을 비워두고 업로드 후 이름은 59c8d38cdb968.jpg 이 이름이 신뢰할 수 없다고 생각되면
을 사용하면 됩니다. 두 번째 방법:
$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'), );$config에 설정: 'saveName' => array('uniqid', mt_rand(1,999999).'_'.md5(uniqid())),최종 결과는 비슷합니다. to: 672563_30ad4d8a2aafc832363de8edc1940b5c59c8d44 a303f9.jpg
thinkphp5에서 이미지를 업로드하고 썸네일을 생성하는 방법
ThinkPHP3.2.3 인증 코드 표시, 새로 고침 및 검증
THinkPHP에서 클라이언트 IP 및 IP 주소 쿼리를 얻는 방법
위 내용은 Thinkphp3.2가 여러 파일을 업로드하고 하나의 파일만 업로드하는 문제를 단순히 해결한 문제에 대한 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!