Laravel 9 Filopplastningsopplæring

Laravel 9 Filopplastningsopplæring

Hva er filvalidering i Laravel?

Laravel validering er en måte å utføre en valideringsrolle. Vi kan sjekke filtypen, filstørrelsen osv. Filvalidering brukes vanligvis for å unngå uønskede filopplastinger på en server eller applikasjon.

I dag lærer vi om filopplasting og lagring i Laravel 9.

Prosjektkrav er gitt nedenfor:

  • MySQL 8.0+
  • MariaDB 10.2+
  • PHP 8.1

Her er et eksempel på å definere FileUpload:

  1. Prosess 1. Lag et FileUpload -prosjekt
  2. Prosess 2. FileUpload Project Database Connection
  3. Prosess 3. Lag en modell og kontroller i FileUpload -prosjektet
  4. Prosess 4. Kjør og test FileUpload -prosjektet

Prosess 1. Lag et FileUpload -prosjekt

Trinn 1 er å kjøre denne kommandolinjen for å installere Laravel 9 på serveren vår eller PC. For det må vi åpne Windows SSH -terminalen i mappen.

Komponist Create-Project Laravel/Laravel FileUpload

Prosess 2. FileUpload Project Database Connection

Åpne .Env -fil på FileUpload -prosjektet og legg til et nytt databasenavn, brukernavn og passord.

Her er følgende kode:

Db_connection = mysql
Db_host = 127.0.0.1
DB_PORT = 3306
Db_database = fileupload databasenavn
DB_USERNAME = FileUpload Database Brukernavn
Db_password = fileupload databasepassord

Prosess 3. Lag en modell og kontroller i FileUpload -prosjektet

Når databasen er tilkoblet, må vi opprette en modell og kontroller for FileUpload -prosjektet.

For det må vi kjøre følgende kommando:

PHP Artisan Make: Model FileUpload -MC

Gå nå til “Database \ Migrations \ 2022_07_11_074014_create_file_uploads_table.php ”-fil. Dette navnet kan være annerledes på din side. Nå må vi legge disse to linjene i filen:

$ tabell-> streng ('filnavn')-> nullable ();
$ tabell-> String ('file_path_location')-> nullable ();

Det ser ut som dette

Return ny klasse utvider migrasjonen

offentlig funksjon opp ()

Skjema :: create ('file_uploads', funksjon (blåkopi $ tabell)
$ tabell-> id ();
$ tabell-> streng ('filnavn')-> nullable ();
$ tabell-> String ('file_path_location')-> nullable ();
$ tabell-> tidsstempler ();
);

offentlig funksjon ned ()

Skjema :: dropifexists ('file_uploads');

;

Vi endrer vår FileUpload -modell i “App \ Models \ FileUpload.PHP ”. Vi legger til fyllbar eiendom der. Koden vises nedenfor:

namespace -app \ modeller;
Bruk Illuminate \ Database \ Eloquent \ Factories \ Hasfactory;
Bruk Illuminate \ Database \ Eloquent \ Model;
klasse FileUpload utvider modellen

bruk hasfactory;
beskyttet $ fillable = [
'filnavn',
'file_path_location'
];

Nå må vi migrere tabellen til databasen for å kjøre denne kommandoen:

PHP Artisan migrerer

Når migrasjonen er fullført, må vi lage to funksjoner. En funksjon er for å gå til opplastingssiden, og en annen er å laste opp en fil i katalogen og lagre den i databasen.

Gå til “App \ http \ Controllers \ FileUploadController.PHP ”-fil:

Legg nå denne koden til kontrolleren:

offentlig funksjon Fileview (forespørsel $ forespørsel)

Returnvisning ('File-Upload');

Og en annen funksjon vises nedenfor:

Offentlig funksjon Opplasting av (forespørsel $ forespørsel)

$ regler = matrise (
'Vedlegg' => 'Mimes: JPEG, PNG, JPG, GIF, SVG, PDF | MAX: 1000',
);
$ meldinger = Array (
'vedlegg' => 'Bilde trenger mindre enn 1 MB.',
);
$ validator = validator :: make ($ request-> all (), $ regler, $ meldinger);
if ($ validator-> mislykkes ())
Return Redirect ()-> Route ('FilEviews')-> med ('suksess', 'vellykket lagt til');
Return Redirect ()-> Route ('FilEviews')-> Witherrors ($ Validator);
ellers
$ imagename = tid () . '.' . $ forespørsel-> vedlegg-> utvidelse ();
// fjern bildet før du laster opp
$ bane = $ forespørsel-> vedlegg-> flytt (public_path ('lagring/vedlegg/'), $ imagename);
$ DepartmentName ['file_name'] = $ imagename;
$ avdelingsnavn ['file_path_location'] = $ bane;
FileUpload :: Create ($ DepartmentName);
Return Redirect ()-> Route ('FilEviews')-> med ('Feil', 'Ingen fil lagt til');

I opplastningsfunksjonen brukte vi validatoren.

Vi opprettet denne funksjonen for å laste opp visningen. Dermed må vi lage visningen i Laravel-visningen som ligger i “Resources \ Views \ File-Upload.blad.PHP ”.

La oss bygge visningen for å laste opp filen.

Kopier koden og lim den inn i visningen.








integritet = "sha384-0evhe/x+r7ykizDrvuzkmrqm+orbnvfbl6doitfpri4tjfhxawutUpfmbp4vmvor" crossorigin = "anonym">

>