thinkphp 檔案上傳,
問題描述:
通過表單實現多檔案上傳
html代碼:
<form name="vote" method="post" action="__URL__/add_vote" enctype="multipart/form-data"><lable><h1>投票名稱 <input name="votename" type="text" /></h1> </lable> <table ><td><tr>選項</tr><tr><input name= 'option' type='text' /></tr></td><td><tr>性別</tr><tr><input name='sex[]' type='text' /></tr></td><td ><tr>學院</tr><tr><input name='school[]' type='text' /></tr></td><td><tr>頭像</tr><tr><input name='thumb[]' type='file' /></tr></td></table><table ><td><tr>選項</tr><tr><input name= 'option' type='text' /></tr></td><td><tr>性別</tr><tr><input name='sex[]' type='text' /></tr></td><td ><tr>學院</tr><tr><input name='school[]' type='text' /></tr></td><td><tr>頭像</tr><tr><input name='thumb[]' type='file' /></tr></td></table> <input id="" type="submit" value="提交" /></tr></div></form>
後台php 代碼:
public function add_vote(){ var_dump($_POST); $rowNub = $_POST['row']; $thumbs=$_POST['thumb']; $sexes=$_POST['sex']; $schools=$_POST['school']; $options=$_POST['option'] ; $config = array( //上傳檔案參數 'maxSize' => 3145728, 'savePath' => './Public/Uploads/', //檔案儲存路徑 'saveName' => '', //檔案命名規則,這裡按原檔案名稱儲存 'exts' => array('jpg', 'gif', 'png', 'jpeg'), //上傳檔案格式 'autoSub' => true, 'subName' => array('date','Ymd'),);//以時間自動命名檔案夾 $upload = new \Think\Upload($config);// 執行個體化上傳類 // 上傳檔案 $info = $upload->upload($_FILES);//$_FILES 所有上傳的檔案都會在這個數組裡 if(!$info) { // 上傳錯誤提示錯誤資訊 $this->error($upload->getError()); }else {// 上傳成功 擷取上傳檔案資訊 foreach($info as $file) { echo $file['savepath'].$file['savename']; } } }
檔案目錄結構,手動建立Uploads檔案夾