Heim  >  Artikel  >  PHP-Framework  >  So implementieren Sie den Upload einzelner Dateien und mehrerer Dateien in Laravel

So implementieren Sie den Upload einzelner Dateien und mehrerer Dateien in Laravel

藏色散人
藏色散人nach vorne
2020-04-27 11:59:093847Durchsuche

Die folgende Tutorial-Kolumne von Laravel stellt Ihnen die Implementierungsmethode des Laravel-Einzeldatei- und Mehrfachdatei-Uploads vor. Ich hoffe, dass sie Freunden in Not hilfreich sein wird!

So implementieren Sie den Upload einzelner Dateien und mehrerer Dateien in Laravel

Der Code ist super einfach und leicht zu verstehen! ! ! (Willkommen beim Hinzufügen~)

Legen Sie zunächst die Route zum Hochladen von Dateien fest:

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

Legen Sie dann die Festplattenadresse für den Upload fest, die später zum Speichern von Dateien verwendet wird. config/filesystem: disks

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

Schließlich definiert UploadController die Upload-Funktion (verwenden Sie die Disk-Methode von Storage, um auf die Upload-Festplatte zuzugreifen, die in der vorherigen Dateisystemdatei festgelegt ist)

putFile-Methode: manage Dateien an den angegebenen Speicherort senden, zum Beispiel wird der Dateiname automatisch generiert oder kann manuell festgelegt werden ('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' => '非法请求'];
        }
    }

Das letzte und letzte: Der Upload-Vorgang der Vorlage ... Sehen Sie sich das Laui-Dokument selbst an. Nun, es ist genau der gleiche Vorgang! ! ! 

Das obige ist der detaillierte Inhalt vonSo implementieren Sie den Upload einzelner Dateien und mehrerer Dateien in Laravel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen