TP6文件上傳示例:
一、最簡單的文件上傳代碼
html:
<h3>TP6單文件上傳</h3> <form action="/index.php/test_upload/uploadAct01" enctype="multipart/form-data" method="post"> <p>請選擇文件: <input type="file" name="file1" /> </p> <p><input type="submit" value="提交"></p> </form>
控制器:
/** * TP6文件上傳操作 */ public function uploadAct01() { // 獲取表單上傳文件 例如上傳了001.jpg $file = request()->file('file1'); // 上傳到本地服務器 echo $savename = \think\facade\Filesystem::disk('public')->putFile( 'files', $file); }
文件被上傳到了,public/storage/files/20211030 目錄
二、多文件上傳示例
html:
<h3>TP6單文件上傳</h3> <form action="/index.php/test_upload/uploadAct02" enctype="multipart/form-data" method="post"> <p>請選擇文件1: <input type="file" name="files[]" /> </p> <p>請選擇文件2: <input type="file" name="files[]" /> </p> <p>請選擇文件3: <input type="file" name="files[]" /> </p> <p>請選擇文件4: <input type="file" name="files[]" /> </p> <p>請選擇文件5: <input type="file" name="files[]" /> </p> <p><input type="submit" value="提交"></p> </form>
控制器:
/** * TP6多文件上傳操作 */ public function uploadAct02() { // 獲取表單上傳文件 $files = request()->file('files'); $savename = []; foreach($files as $file){ $savename[] = \think\facade\Filesystem::disk('public')->putFile( 'files', $file); } print_r($savename); }
多文件上傳bug,每個文件框必須要選擇文件,不然就會報錯!怎么不會內部判斷下嗎?
如果項目中遇到這個問題,解決辦法就是自己寫上傳功能就好了,不用tp6的上傳