Tutorial di caricamento del file Laravel 9

Tutorial di caricamento del file Laravel 9

Cos'è la convalida del file in Laravel?

La convalida di Laravel è un modo per svolgere un ruolo di convalida. Possiamo controllare il tipo di file, la dimensione del file, ecc. La convalida del file viene in genere utilizzata per evitare carichi di file indesiderati in un server o applicazione.

Oggi impareremo il caricamento e la memorizzazione di file in Laravel 9.

I requisiti del progetto sono forniti di seguito:

  • Mysql 8.0+
  • Mariadb 10.2+
  • PHP 8.1

Ecco un esempio di definizione di fileupload:

  1. Processo 1. Crea un progetto fileupload
  2. Processo 2. Connessione del database del progetto FileUpload
  3. Processo 3. Crea un modello e un controller nel progetto FileUpload
  4. Processo 4. Esegui e testa il progetto FileUpload

Processo 1. Crea un progetto fileupload

Il passaggio 1 è eseguire questa riga di comando per installare Laravel 9 sul nostro server o PC. Per questo, dobbiamo aprire il terminale di Windows SSH nella cartella.

Compositore crea-project laravel/laravel fileupload

Processo 2. Connessione del database del progetto FileUpload

Apri il .File Env nel progetto FileUpload e aggiungi un nuovo nome di database, nome utente e password.

Ecco il seguente codice:

Db_connection = mysql
Db_host = 127.0.0.1
Db_port = 3306
DB_Database = FileUpload Nome database
Db_username = fileupload database nome utente
DB_Password = FileUpload Database Password

Processo 3. Crea un modello e un controller nel progetto FileUpload

Una volta connesso il database, dobbiamo creare un modello e un controller per il progetto FileUpload.

Per questo, dobbiamo eseguire il seguente comando:

PHP Artisan Make: modello fileupload -mc

Ora, vai a “Database \ Migrations \ 2022_07_11_074014_Create_File_Uploads_Table.File PHP ". Questo nome potrebbe essere diverso dalla tua parte. Ora, dobbiamo mettere queste due righe nel file:

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

Sembra questo

restituire la nuova classe estende la migrazione

funzione pubblica up ()

Schema :: create ('file_uploads', funzione (Blueprint $ table)
$ table-> id ();
$ table-> string ('file_name')-> nulllable ();
$ table-> string ('file_path_location')-> nulllable ();
$ table-> timestamps ();
);

funzione pubblica down ()

Schema :: Dropifexists ('file_uploads');

;

Modifichiamo il nostro modello FileUpload in “App \ Models \ FileUpload.PHP ". Aggiungiamo proprietà riempibile lì. Il codice è mostrato di seguito:

Modelspace App \ Models;
Usa illuminate \ database \ eloquent \ fabbriche \ hasfactory;
Usa illuminate \ database \ eloquent \ modello;
Classe fileupload estende il modello

Usa Hasfactory;
Protected $ riempibile = [
'nome del file',
'file_path_location'
];

Ora, dobbiamo migrare la tabella nel database per eseguire questo comando:

PHP Artisan Migrate

Una volta completata la migrazione, dobbiamo creare due funzioni. Una funzione è per andare alla pagina di caricamento e un'altra è quella di caricare un file nella directory e archiviarlo nel database.

Vai a "App \ http \ controller \ fileUploadController.FILE PHP ":

Ora, aggiungi questo codice al controller:

Funzione pubblica FileView (richiesta $ richiesta)

return view ('file-upload');

E un'altra funzione è mostrata di seguito:

Funzione pubblica uploadTheFile (richiesta $ richiesta)

$ regole = array (
'Attachment' => 'mimes: jpeg, png, jpg, gif, svg, pdf | max: 1000',
);
$ messaggi = array (
'Attachment' => 'L'immagine ha bisogno di meno di 1 MB.',
);
$ validatore = validatore :: make ($ request-> all (), $ regole, $ messaggi);
if ($ validatore-> fails ())
restituire redirect ()-> route ('fileviews')-> with ('successo', 'aggiunto correttamente');
restituire redirect ()-> route ('fileviews')-> witherrors ($ validatore);
altro
$ imagename = time () . '.' . $ request-> allegato-> estensione ();
// Rimuovi l'immagine prima del caricamento
$ path = $ request-> allegato-> sposta (public_path ('archivia/allegato/'), $ imagename);
$ dipartmentName ['file_name'] = $ imagename;
$ dipartimoneName ['file_path_location'] = $ path;
FileUpload :: create ($ dipartimoneName);
restituire redirect ()-> route ('fileviews')-> with ('errore', 'nessun file aggiunto');

Nella funzione uploadTheFile, abbiamo usato il validatore.

Abbiamo creato questa funzione per caricare la vista. Pertanto, dobbiamo creare la vista nella vista Laravel situata in “Risorse \ Visualizzazioni \ File-Upload.lama.PHP ".

Costruiamo la vista per caricare il file.

Copia il codice e incollalo nella vista.








integrity = "sha384-0evhe/x+r7ykizdrvuzkmrqm+orbnvfbl6doitfpri4tjfhxawutupfmbp4vmvor" crossorigin = "anonymous">

>