為了方便,先修改一個配置文件,再laravel框架中config配置中找到 filesystems.php 文件
修改代碼如下
'local' => [ 'driver' => 'local', 'root' => public_path('image'), ], 'public' => [ 'driver' => 'local', 'root' => public_path('image'), 'url' => env('APP_URL').'image', 'visibility' => 'public', ],
以上配置將會在默認入口public目錄中創建一個名為image的文件夾,你上傳的圖片將會在這個目錄中
單文件上傳
表單
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <form action="up_do" method="post" enctype="multipart/form-data"> <input type="file" name="file"> <input type="submit" value="上傳"> </form> </body> </html>
提交方式為POST,提交到up_do方法
//圖片上傳 public function up_do(Request $request) { $data = $request->file('file'); $res = $data->store('');
//打印看一下上傳成功文件的名字
echo $res; }
多文件上傳
表單
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <form action="up_do" method="post" enctype="multipart/form-data"> <input type="file" name="file[]"> <input type="file" name="file[]"> <input type="file" name="file[]"> <input type="submit" value="上傳"> </form> </body> </html>
同理,文件名從單文件的name=“file”改成了數組的形式,表示上傳多個文件
//圖片上傳 public function up_do(Request $request) { $data = $request->file('file'); //dd($data);die(); foreach($data as $k => $v) { $arr[$k] = $v->store('file'); } echo $arr; }
利用循環遍歷上傳到public中,新建文件夾名為file。實則路徑:public/image/file
用時候png格式的圖片上傳失敗,請換一種圖片格式!!!