Il caricamento dei file è un'attività comune per le applicazioni Web. Sono necessari diversi tipi di file per caricare in base all'applicazione. File di immagine, file di testo, file PDF, file XML, ecc. può essere caricato usando lo script PHP. Uno o più file possono essere caricati da PHP. Ci sono alcune direttive PHP in il php.ini File di configurazione e funzioni integrate PHP relative al caricamento file discusso in questo tutorial. HTML ha un attributo particolare nel tag modulo per le attività di caricamento dei file, cioè Enctipo.
Direttive PHP per il caricamento dei file
Direttiva PHP | Scopo |
---|---|
file_uploads | Il valore di questa direttiva deve essere SU Per caricare il file usando lo script PHP. Il valore predefinito di questa direttiva è SU. |
upload_tmp_dir | Viene utilizzato per impostare la directory temporanea in cui verrà caricato il file. |
upload_max_filesize | Viene utilizzato per impostare la dimensione massima del file che può essere caricata. |
max_file_uploads | Viene utilizzato per impostare il numero di file che possono essere caricati. |
post_max_size | Viene utilizzato per impostare la dimensione massima dei dati postali e il valore di questa direttiva deve essere superiore al valore della direttiva upload_max_filesize perché il file viene caricato dalla richiesta post. |
max_input_time | Viene utilizzato per impostare il tempo massimo per leggere i dati del file di caricamento. |
max_execution_time | Viene utilizzato per impostare la quantità massima di tempo in secondi per eseguire lo script per il caricamento del file. |
memory_limit | Viene utilizzato per impostare la dimensione massima della memoria richiesta per l'esecuzione di uno script PHP per il caricamento del file. |
Funzioni PHP per il caricamento dei file
Due funzioni integrate sono utilizzate principalmente in PHP per il caricamento del file di seguito.
UN. is_uploaded_file ()
Viene utilizzato per verificare se il file viene caricato tramite il post HTTP che aiuta a prevenire un attacco da parte dell'utente dannoso.
B. move_uploaded_file ()
Viene utilizzato per spostare il file caricato nella posizione del server web. Questa funzione restituirà true se il file viene caricato e spostato correttamente.
Variabile di caricamento del file PHP
La variabile Array $ _Files memorizza tutte le informazioni relative al caricamento di un file nel server. È una variabile superglobal del PHP che è accessibile ovunque dallo script. Contiene cinque tipi di informazioni: nome file, tipo, dimensione, nome file temporaneo ed errori relativi al caricamento del file. Lo scopo di ogni valore dell'array $ _file è stato menzionato di seguito. Supponiamo che il nome del nome del campo di caricamento sia 'caricamento' Qui.
UN. $ _Files ['upload'] ['name']
Viene utilizzato per ottenere il nome file originale che è stato caricato dal computer del client.
B. $ _Files ['upload'] ['tmp_name']
Viene utilizzato per ottenere il nome file temporaneo che è stato archiviato nel server temporaneamente.
C. $ _Files ['upload'] ['type']
Viene utilizzato per ottenere il tipo MIME del file caricato.
D. $ _Files ['upload'] ['size']
Viene utilizzato per ottenere le dimensioni del file caricato in byte.
E. $ _Files ['upload'] ['Errore']
Viene utilizzato per ottenere il codice di errore correlato all'attività di caricamento. La variabile può contenere uno dei 7 tipi di valori menzionati di seguito.
Codice di errore | Descrizione |
---|---|
1- upload_err_ok | Genera quando il file carica correttamente. |
2- upload_err_ini_size | Genera se la dimensione del file supera il valore del upload_max_filesize direttiva definita nel PHP.file ini. |
3- upload_err_partial | Genera se la dimensione del file supera il valore della direttiva max_file_size definita nel modulo HTML. |
4- upload_err_no_file | Genera se non viene caricato alcun file. |
5-upload_err_no_tmp_dir | Genera se non manca la directory temporanea. |
6- upload_err_cant_write | Genera se non esiste un permesso di scrittura nella posizione del server. |
7- upload_err_extension | Genera se l'estensione PHP interrompe l'attività di caricamento. |
Caricamento del file utilizzando PHP
In questa parte sono stati mostrati diversi esempi di caricamento del file usando lo script PHP.
Esempio 1: caricare qualsiasi tipo di file
È possibile caricare il file nella posizione corrente da dove viene eseguito lo script PHP o in una cartella particolare. È necessario creare la cartella nella posizione del server per caricare un file all'interno di una particolare cartella prima di eseguire lo script PHP. Ho creato una cartella chiamata 'Carichi ' All'interno della cartella di lavoro. Crea un file PHP con il seguente script che caricherà un file di qualsiasi tipo all'interno di 'Carichi ' cartella. Un modulo HTML con un campo tipo file e un pulsante di invio è stato utilizzato nello script per selezionare il file dal computer del client per il caricamento. Se 1 viene generato come codice di errore dopo aver caricato il file, il file viene caricato correttamente. Successivamente, il move_upload_file () La funzione è stata utilizzata per spostare il file caricato nella posizione del server. Il messaggio di successo verrà stampato se il file viene caricato correttamente nella posizione del server; Altrimenti, verrà visualizzato un messaggio di errore.
// Controlla che qualsiasi file è selezionato o noIl file viene caricato correttamente.
';Errore caricamento del file.
'. $ _Files ['uploadFile'] ['Errore']. '
Errore caricamento del file.
'. $ _Files ['uploadFile'] ['Errore']. '
Caricamento del file utilizzando PHP
Produzione
Verrà visualizzato il seguente output se lo script viene eseguito dal server web.
Clicca sul Navigare Pulsante per selezionare il file per il caricamento e premere il pulsante Carica per caricare il file nel server.
Verrà visualizzato il seguente messaggio se il file viene caricato correttamente.
Esempio 2: caricare un file del tipo e della dimensione specifici
In questo esempio è stato mostrato il modo di caricare il file utilizzando un file HTML e un file PHP separati. Crea un file HTML con il seguente script per visualizzare il modulo per il caricamento del file.
uploadForm.html
Caricamento del file JPEG utilizzando PHP
Crea uno script PHP con il seguente script che caricherà solo il file JPEG e la dimensione sarà inferiore a 300000 byte. Il tipo e le dimensioni del file sono stati letti utilizzando $ _files ['uploadfile'] ['type'] e $ _files ['uploadfile'] ['size']. Il messaggio di successo apparirà se il tipo di file caricato e le dimensioni corrispondono ai criteri definiti nella condizione "if"; Altrimenti verrà visualizzato un messaggio di errore.
upload2.PHP
// Controlla che qualsiasi file è selezionato o noIl file viene caricato correttamente.
';Errore caricamento del file.
'. $ _Files ['uploadFile'] ['Errore']. '
Il tipo o la dimensione del file non sono supportati.
';Errore caricamento del file.
'. $ _Files ['uploadFile'] ['Errore']. '
Produzione
Nel seguente output, il fiore.png è stato selezionato il file che non è un file jpeg:
La seguente uscita apparirà dopo aver premuto il Caricamento pulsante:
Qui, il fiore1.È stato selezionato il file JPEG che è un file JPEG.
Ora, la seguente uscita apparirà dopo aver premuto il Caricamento pulsante:
Esempio 3: controllare il file prima di caricare
Crea un file PHP con il seguente script che utilizza IS_UPLOADED_FILE () funzione per verificare se il file viene caricato tramite il post HTTP prima di spostare il file sul server. Lo script caricherà solo il file di testo e stampa il contenuto del file di testo dopo aver caricato il file correttamente.
// Controlla se è selezionato un fileCaricamento del file utilizzando PHP
Produzione
Nel seguente output, è stato selezionato un file di testo per il caricamento:
Il contenuto del file è stato mostrato nell'output dopo aver caricato il file correttamente.
Conclusione
L'attività di caricamento del file è un requisito comune per qualsiasi applicazione Web. Gli usi della variabile di caricamento del file e le funzioni integrate di PHP sono stati mostrati in questo tutorial utilizzando più esempi di caricamento di file. Se lo desideri, puoi caricare più di un file alla volta utilizzando lo script PHP che è coperto in questo tutorial. È inoltre possibile caricare una cartella che contiene più file utilizzando lo script PHP.