Laravel 9 Datei hochladen Tutorial

Laravel 9 Datei hochladen Tutorial

Was ist die Dateivalidierung in Laravel?

Die Laravel -Validierung ist eine Möglichkeit, eine Validierungsrolle durchzuführen. Wir können den Dateityp, die Dateigröße usw. überprüfen. Die Dateivalidierung wird normalerweise verwendet, um unerwünschte Datei -Uploads in einem Server oder einer Anwendung zu vermeiden.

Heute erfahren wir etwas über das Upload und Speichern von Dateien in Laravel 9.

Die Projektanforderungen sind nachstehend vorgesehen:

  • MySQL 8.0+
  • Mariadb 10.2+
  • Php 8.1

Hier ist ein Beispiel für die Definition der FileUpload:

  1. Prozess 1. Erstellen Sie ein FileUpload -Projekt
  2. Prozess 2. FileUpload -Projektdatenbankverbindung
  3. Prozess 3. Erstellen Sie ein Modell und einen Controller im FileUpload -Projekt
  4. Prozess 4. Führen und testen Sie das FileUpload -Projekt

Prozess 1. Erstellen Sie ein FileUpload -Projekt

Schritt 1 besteht darin, diese Befehlszeile auszuführen, um Laravel 9 auf unserem Server oder PC zu installieren. Dafür müssen wir das Windows SSH -Terminal im Ordner öffnen.

Komponist erstellen-project laravel/laravel FileUpload

Prozess 2. FileUpload -Projektdatenbankverbindung

Öffne das .Env -Datei im FileUpload -Projekt und fügen Sie einen neuen Datenbanknamen, einen Benutzernamen und ein Passwort hinzu.

Hier ist der folgende Code:

DB_CONNECTION = MYSQL
Db_host = 127.0.0.1
Db_port = 3306
Db_database = FileUpload -Datenbankname
DB_USERNAME = FileUpload -Datenbank Benutzername
DB_PASSWORD = FileUpload -Datenbankkennwort

Prozess 3. Erstellen Sie ein Modell und einen Controller im FileUpload -Projekt

Sobald die Datenbank verbunden ist, müssen wir ein Modell und einen Controller für das FileUpload -Projekt erstellen.

Dafür müssen wir den folgenden Befehl ausführen:

PHP Artisan Make: Model FileUpload -mc

Gehen Sie nun zu „Datenbank \ Migrations \ 2022_07_11_074014_Create_File_Uploads_table.PHP ”Datei. Dieser Name könnte auf Ihrer Seite unterschiedlich sein. Jetzt müssen wir diese beiden Zeilen in die Datei einfügen:

$ table-> string ('file_name')-> nullable ();
$ table-> string ('file_path_location')-> nullable ();

Es sieht so aus

Return New Class erweitert die Migration

öffentliche Funktion ()

Schema :: create ('Datei_Uploads', Funktion (Blueprint $ Tabelle)
$ table-> id ();
$ table-> string ('file_name')-> nullable ();
$ table-> string ('file_path_location')-> nullable ();
$ table-> timestemps ();
);

öffentliche Funktion Down ()

Schema :: Dropifexisten ('Datei_Uploads');

;

Wir ändern unser FileUpload -Modell in „App \ Models \ FileUpload.PHP ”. Wir fügen dort füllbare Eigenschaft hinzu. Der Code ist unten angezeigt:

Namespace App \ Models;
Verwenden Sie Illuminate \ Datenbank \ eloquent \ fabrories \ hasFactory;
Verwenden Sie Illuminate \ Database \ eloquent \ Modell;
Class FileUpload erweitert das Modell

HASFAKTORY verwenden;
geschützt $ fillbar = [
'Dateinamen',
'Datei_Path_Location'
];

Jetzt müssen wir die Tabelle in die Datenbank migrieren, um diesen Befehl auszuführen:

PHP Artisan migrieren

Sobald die Migration abgeschlossen ist, müssen wir zwei Funktionen erstellen. Eine Funktion ist es, zur Upload -Seite zu gehen, und eine andere besteht darin, eine Datei im Verzeichnis hochzuladen und in der Datenbank zu speichern.

Gehen Sie zum „App \ http \ Controllers \ FileUploadController.PHP ”-Datei:

Fügen Sie diesen Code nun dem Controller hinzu:

öffentliche Funktionsdateiansicht (Anfrage $ Anfrage)

Rückgabeansicht ('Datei-Upload');

Und eine andere Funktion ist unten gezeigt:

öffentliche Funktion uploadthefile (Anfrage $ Anfrage)

$ Rules = Array (Array (
'Anhang' => 'MiMes: JPEG, PNG, JPG, GIF, SVG, PDF | max: 1000',
);
$ messages = array (
'Anhang' => 'Bild benötigt weniger als 1 MB.'',
);
$ validator = validator :: make ($ request-> alle (), $ regeln, $ messages);
if ($ validator-> fails ())
return redirect ()-> route ('fileviews')-> mit ('Erfolg', 'erfolgreich hinzugefügt');
return Redirect ()-> Route ('FileViews')-> Witherrors ($ validator);
anders
$ imagesName = time () . ''.'' . $ request-> anhang-> extension ();
// Bild vor dem Upload entfernen
$ path = $ request-> anhängen-> move (public_path ('storate/anhang/'), $ imageName);
$ maperame ['file_name'] = $ imagesName;
$ stationName ['file_path_location'] = $ path;
FileUpload :: Create ($ mapername);
return Redirect ()-> Route ('FileViews')-> mit ('Fehler', 'keine Datei hinzugefügt');

In der UploadtheFile -Funktion haben wir den Validator verwendet.

Wir haben diese Funktion erstellt, um die Ansicht hochzuladen. Somit müssen wir die Ansicht in der Laravel-Ansicht in „Ressourcen \ Views \ Datei-Upload erstellen.Klinge.PHP ”.

Erstellen wir die Ansicht zum Hochladen der Datei.

Kopieren Sie den Code und fügen Sie ihn in die Ansicht ein.








Integrität = "SHA384-0evhe/x+r7ykizdrvuzkmrqm+orbnvfbl6doitfpri4tjfhxawutUpfmbp4vmvor" crossorigin = "Anonymous">

>