首頁  >  文章  >  php框架  >  laravel單一檔案、多檔案上傳的實作方法

laravel單一檔案、多檔案上傳的實作方法

藏色散人
藏色散人轉載
2020-04-27 11:59:093952瀏覽

以下由laravel教學專欄為大家介紹關於laravel單一檔案、多檔案上傳的實作方法,希望對需要的朋友有幫助! 

laravel單一檔案、多檔案上傳的實作方法

程式碼超簡潔也超好理解呀! ! !    (歡迎補充~)

 先設定上傳檔案的路由:

Route::post('upload/images'['as'=>'uploadImages','uses'=>'UploadController@uploadImages']);  
 Route::post('upload/multiUpload'['as'=>'multiUpload','uses'=>'UploadController@multiUpload']);

再設定uploads磁碟位址,之後儲存檔案會使用到。 config / filesystem : disks

 'disks' => [
 
        'local' => [
            'driver' => 'local',
            'root' => storage_path('app'),
        ],
 
        'uploads'=>[
            'driver'=>'local',
            'root'=>public_path('uploads/'),
        ]
    ],

最後UploadController定義上傳函數(使用Storage的disk方法來存取uploads磁碟,就是前面filesystem檔案裡設定的)

#putFile方法:管理檔案到指定的儲存位置,例如自動產生文件名,也可以手動設定('20190705', $file,'test.png')

 //上传单张图
 public function uploadImages(Request $request)
    {
        if ($request->isMethod('post')) {
            $file = $request->file('file');
            if($file->isValid()){
                $path = Storage::disk('uploads')->putFile(date('Ymd') , $file);
                if($path) {
                    return ['code' => 0 , 'msg' => '上传成功' , 'data' => $path];
                }
                else {
                    return ['code' => 400 , 'msg' => '上传失败'];
                }
            }
        } else {
            return ['code' => 400, 'msg' => '非法请求'];
        }
    }
//上传多张图
 public function multiUpload(Request $request)
    {
        if($request->method('post')){
            $files = $request->allFiles();
            if(is_array($files)){
                foreach($files as $file){
                    $path = Storage::disk('uploads')->putFile(date('Ymd') , $file);
                }
                if( $path ) {
                    return ['code' => 0 , 'msg' => '上传成功' , 'data' => $path];
                }
                else {
                    return ['code' => 400 , 'msg' => '上传失败'];
                }
            }
        }else{
            return ['code' => 400, 'msg' => '非法请求'];
        }
    }

 最最最後:模板的上傳操作…自行看layui文檔吧,一毛一樣的操作! ! !    

#

以上是laravel單一檔案、多檔案上傳的實作方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除