>  기사  >  PHP 프레임워크  >  laravel에서 단일 파일 및 다중 파일 업로드를 구현하는 방법

laravel에서 단일 파일 및 다중 파일 업로드를 구현하는 방법

藏色散人
藏色散人앞으로
2020-04-27 11:59:093924검색

다음 튜토리얼 칼럼인 laravel에서는 Laravel 단일 파일 및 다중 파일 업로드 구현 방법을 소개하겠습니다. 도움이 필요한 친구들에게 도움이 되길 바랍니다!

laravel에서 단일 파일 및 다중 파일 업로드를 구현하는 방법

코드는 매우 간단하고 이해하기 쉽습니다! ! ! (추가를 환영합니다~)

먼저 파일 업로드 경로를 설정하세요:

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

그런 다음 나중에 파일을 저장할 때 사용할 업로드 디스크 주소를 설정하세요. config/filesystem: disks

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

최종적으로 UploadController는 업로드 기능을 정의합니다(이전 파일 시스템 파일에 설정된 업로드 디스크에 액세스하기 위해 저장소의 디스크 방법을 사용합니다)

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으로 문의하시기 바랍니다. 삭제