Come caricare file su un server web con php

Presentazione.


Carica file su un server web; semplice, quanto può essere difficile? Sicuramente molti lo diranno, ma quelli che sono appena agli inizi in questo mondo sicuramente si saranno chiesti come si fa, voglio solo arrivare a loro, quindi se stai iniziando in PHP o sei un utente avanzato che ha perso questo codice e non lo fa vuoi usarlo di nuovo scrivi, quindi ti invito a continuare a leggere, perché in questo articolo condividerò il mio codice per caricare file in modo rapido e semplice, per questo userò HTML5, PHP e aggiungerò un tocco attraente con boostrap. In questo caso ti spiego come caricare immagini .jpg.webp o .png.webp ma con modifiche minime puoi caricare documenti, audio e anche video se lo desideri.
Cosa ci serve?a) Un computer
b) Un server locale per testare e accedere al database (uso XAMPP)
c) Un editor di codice (userò il testo sublime 3)

Passo 1


Vado nella directory htdocs di Xampp e creo una nuova cartella che chiamerò "upload".
INGRANDIRE
All'interno di questo ne creerò un altro chiamato "files" e uno aggiuntivo chiamato "php".
INGRANDIRE

Passo 2


Ora nell'editor del codice creerò un nuovo file che salverò come index.php che conterrà poi il form html per caricare i file.
INGRANDIRE

Passaggio 3


Aggiungerò i riferimenti online a boostrap.
INGRANDIRE

Passaggio 4


Dentro il corpo creerò un, all'interno di questo a

INGRANDIRE

Passaggio 5


Ora dentroAggiungo un salto in macchina
un titolo cone inizierò a strutturare il nostro piccolo form per il caricamento…
INGRANDIRE
Vedrai che ho assegnato il metodo "POST" all'etichetta e nell'azione abbiamo aggiunto un punto interrogativo "?" il che farà sì che quando si invia il modulo i suoi valori vengano restituiti a questa stessa pagina, inoltre ho aggiunto un attributo chiamato "encytipe" con il valore "multipart / form-data" questo come regola generale dovrebbe essere usato in tutti moduli che inviano file .

Passaggio 6


Poiché abbiamo l'etichetta pronta, possiamo aggiungere il campo di cui abbiamo bisogno e un pulsante che invierà il modulo da elaborare.
Per questo aggiungeremo un'etichettae conterrà un tipo di input "file" che avrà il compito di catturare il file che vogliamo caricare …
INGRANDIRE
Come puoi vedere, abbiamo assegnato il nome "file" e una classe chiamata "form-control", che appartiene al bootstrap e serve a dare una corretta spaziatura ai campi di testo contenuti all'interno di un form. Da parte sua, aggiungiamo anche un attributo "richiesto" che impedirà l'invio del modulo se questo campo è vuoto.

Passaggio 7


Successivamente aggiungeremo un'etichetta come decorazione, che ci aiuterà a tracciare una linea che separi l'input precedente dal pulsante che invierà il modulo.
INGRANDIRE

Passaggio 8


Come vedrai appena sotto l'etichetta abbiamo inserito un input di tipo "submit" a cui aggiungiamo le classi boostrap "btn btn-primary center-block", di cui la prima ci aiuta a dare una forma più accattivante al nostro pulsante, il secondo lo posiziona nel colore primario di boostrap che è un blu intenso e il terzo è utilizzato per posizionare questo elemento con una regolazione centrata, nota che abbiamo chiamato questo pulsante "su".

Passaggio 9


Abbiamo già il nostro html pronto, quindi ora scriveremo alcune righe in php che si occuperanno di caricare i nostri file, per questo creeremo un nuovo file upload.php che salverò nel "php" cartella che creiamo nel passaggio 2.

Passaggio 10


La prima cosa che faremo nel nostro file php è convalidare se il pulsante è stato premuto
"Carica" ​​e se il campo "file" non è vuoto, per questo scriveremo quanto segue …
INGRANDIRE

Passaggio 11


Una volta verificato ciò, utilizzeremo un ciclo "foreach" per ottenere le proprietà del file che andremo a caricare.Come accennato in precedenza, in questo caso parleremo di immagini in formato .jpg.webp o .png.webp.
INGRANDIRE

Passaggio 12


Creeremo 2 variabili chiamate "$ file" e "$ destinazione", la prima conterrà il file che stiamo caricando e la seconda assegneremo il percorso dove verrà salvato e il nome con cui verrà memorizzato , come puoi immaginare il percorso di archiviazione sarà la directory "files" che è stata creata nel passaggio 2, mentre il nome con cui verrà archiviato verrà dall'array $ FILES che abbiamo costruito nel passaggio precedente con il foreach …
INGRANDIRE

Passaggio 13


Ora dobbiamo convalidare che il file che viene caricato sia conforme ai parametri desiderati, ho precedentemente indicato che voglio caricare immagini in .jpg.webp o .png.webp, ma questo è il momento di lasciarlo definito nel nostro codice. Sempre come misura personale voglio che la dimensione massima delle immagini da caricare sia di 2Mb, quindi colgo l'occasione per indicarla anche io, ma ciò nonostante questa dimensione massima non può essere definita in MB quindi dovremo convertirla in byte…
INGRANDIRE
Poiché abbiamo stabilito le condizioni per poter elaborare i file, ora dobbiamo definire cosa ne faremo. In questo caso voglio che questi file vengano copiati nella cartella "files" ma voglio anche che il percorso di ciascun file venga archiviato in un database in modo che in seguito possa creare un elenco o una galleria con quei file.
Detto questo dovremo creare un database, e al suo interno una tabella con dei campi per contenere il percorso di ogni file, un file di connessione a quel database e ovviamente includere all'interno del nostro upload.php un'istruzione SQL che inserisca il percorso di ogni file all'interno della banca dati. Fallo!.

Passaggio 14


Con xampp attivo andiamo nel nostro browser e inseriamo l'indirizzo "localhost/phpmyadmin" una volta entrati con il nostro username e password procederemo alla creazione di un nuovo database, lo chiamerò "upload" e assegnerò una corrispondenza "utf8_spanish_ci" .
INGRANDIRE

Passaggio 15


All'interno creeremo una tabella che chiamerò "rotte" con solo 2 colonne, un ID a incremento automatico e un altro chiamato route di tipo varchar.
INGRANDIRE
INGRANDIRE
Abbiamo già il database e la tabella di cui abbiamo bisogno ma ora dobbiamo connetterci a questo database, per questo andrò al mio editor di codice e creerò 2 nuovi file e li salverò come "config.php" e "connection.php" all'interno la cartella php che abbiamo già.
INGRANDIRE
INGRANDIRE

Passaggio 16


Ora torneremo al nostro file "upload.php" e includeremo in esso il file "connection.php"
INGRANDIRE

Passaggio 17


Quindi aggiungeremo la funzione in modo che il file che carichiamo venga copiato nella directory "files" e inseriremo il percorso o il collegamento a questo file nel database. Quindi possiamo aggiungere un messaggio di conferma se tutto va bene e un messaggio di avviso nel caso in cui non stiamo caricando il tipo di file corretto o superi il limite massimo di MB.
INGRANDIRE

Passaggio 18


Torneremo al nostro file "index.php" e dopo il tag di chiusura "" inseriremo un include nel file upload.php
INGRANDIRE

Passo 19


Abbiamo già pronto il nostro codice, il database è stato creato e la connessione è configurata, ora vediamo qual è il risultato e controlliamo se funziona correttamente.
Ti è piaciuto e hai aiutato questo Tutorial?Puoi premiare l'autore premendo questo pulsante per dargli un punto positivo

Questo tutorial ti ha aiutato?

Altrimenti

AIUTA A MIGLIORARE QUESTO TUTORIAL!

Pensi di poter correggere o migliorare questo tutorial? Puoi inviare la tua Edizione con le modifiche che ritieni utili.
0 utenti hanno modificato questo tutorial. Modifica e diventa un esperto riconosciuto!
Modifica questo tutorial

TUTORIAL SIMILI


Archivia i file nei campi BLOB con PHP e MySQLGenerazione di file PDF con PHP

8 commenti


David sanz
29 agosto 2015 23:34Ho adorato il tutorial, è molto interessante sapere come caricare file tramite PHP. Grazie Ronny
  • Rapporto

Ronny Bonillo
30 agosto 2015 00:50Prego Davide, spero ti sia utile… Un saluto…
  • Rapporto

Ruben Gandia
03 set 2015 18:45

Ronny, ho usato il tuo tutorial per correggere un errore che stavo facendo durante il caricamento dei file tramite PHP. Mi connetto solo per darti il Grazie e che ti ho anche segnato Segui.

  • Rapporto

Ronny Bonillo
03 set 2015 18:47

Prego Ruben, grazie per avermi seguito! mi fa piacere che tu lo abbia trovato utile…

  • Rapporto

Diego Agudelo Jimenez
16 febbraio 2016 22:56

Ottimo aiuto

  • Rapporto

Ronny Bonillo
mar 02 2016 06:24;-)
  • Rapporto

MartinPm
05 agosto 2016 20:16

Che ne dici di Ronny, puoi aiutarmi a ottenere questo errore …

Avviso: Indice non definito: file in C:\xampp\htdocs\upload\php\upload.php on line3
Avvertenza: argomento fornito per foreach() inC: \ xampp \ htdocs \ upload \ php \ upload.php sulla riga 3 non valido
Avviso: Indice non definito: file in C:\xampp\htdocs\upload\php\upload.php on line7
Avviso: indice non definito: file in C:\xampp\htdocs\upload\php\upload.php on line8
Avviso: indice non definito: file in C:\xampp\htdocs\upload\php\upload.php on line10

  • Rapporto

josenumis
Dic2021-202221-2022 17:23Ciao, ho copiato così com'è ma cambiando il nome del server ecc (che non è locale) e non carica i file o mi dà un errore (mi lascia selezionare il file) se non lo ha selezionato, dice me per selezionarlo ma quando lo invio al server non fa nulla qualcuno può inviarmi i codici per verificare se c'è qualcosa che non va)? Penso che vada tutto bene. La mia email è [email protected] grazie mille.
  • Rapporto
Non aspettare oltre ed entra in SolveticLascia i tuoi commenti e sfrutta l'account utente Unisciti a noi!
  • Crea un accountIscriviti GRATIS per avere il tuo account SolveticRegistra un account
  • IdentificareHai già un account? Accedi quiIdentificami nel mio Account

    Informazione

    • Pubblicato 27 agosto 2015 21:10
    • Aggiornato 28 agosto 2015 08:21
    • visite 15,8 K
    • LivelloAvanzate

    Ultimi tutorial PHP
    • Come installare pHpMyAdmin su Ubuntu 20.04
    • Installa Laravel PHP Framework CentOS 8 con NGINX
    • Installa e configura OPcache per le prestazioni PHP su CentOS 7
    • Come installare Laravel PHP Web Framework su CentOS
    Scopri di più su PHP
    wave wave wave wave wave