ホームページ  >  記事  >  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 : discs

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

最後に、UploadController でアップロード関数を定義します (Storage の disk メソッドを使用して、前のファイルシステム ファイルに設定されているアップロード ディスクにアクセスします)

putFile メソッド: manageファイルを指定した保存場所に保存します。たとえば、ファイル名は自動的に生成されるか、手動で設定できます ('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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。