Carica file in PHP

Carica file in PHP

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 no
if (isset ($ _ files ['uploadfile'])

// Controlla qualsiasi errore di caricamento esiste o no
if ($ _files ['uploadfile'] ['errore'] === upload_err_ok)

// Leggi il nome file originale
$ fileName = $ _files ['uploadFile'] ['name'];
// Leggi il nome file temporaneo
$ FILETEMPPATH = $ _files ['uploadFile'] ['tmp_name'];
// Imposta il percorso del file di caricamento
$ FILEPATH = dirName (__ File__).'/uploads/'.$ nome file;
// Carica il file utilizzando la funzione Move_Upload_file ()
if (move_uploaded_file ($ FileTempPath, $ FilePath))

// Stampa il messaggio di successo
eco '

Il file viene caricato correttamente.

';

altro

// Stampa il messaggio di errore
eco '

Errore caricamento del file.
'. $ _Files ['uploadFile'] ['Errore']. '

';


altro

// Stampa il messaggio di errore
eco '

Errore caricamento del file.
'. $ _Files ['uploadFile'] ['Errore']. '

';


altro

?>




Caricamento del file utilizzando PHP



Seleziona il file:





?>

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



Seleziona il file:



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 no
if (isset ($ _ files ['uploadfile'])

// Controlla qualsiasi errore di caricamento esiste o no
if ($ _files ['uploadfile'] ['errore'] === upload_err_ok)

// Leggi il nome file originale
$ fileName = $ _files ['uploadFile'] ['name'];
// Leggi il nome file temporaneo
$ FILETEMPPATH = $ _files ['uploadFile'] ['tmp_name'];
// Leggi la dimensione del file
$ filesize = $ _files ['uploadFile'] ['size'];
// Leggi il tipo di file
$ fileType = $ _files ['uploadFile'] ['type'];
// Controlla il tipo di file e la dimensione del file
if ($ fileType == 'immagine/jpeg' && $ filesize < 300000)

// Imposta il percorso del file di caricamento
$ FILEPATH = dirName (__ File__).'/uploads/'.$ nome file;
// Carica il file utilizzando la funzione Move_Upload_file ()
if (move_uploaded_file ($ FileTempPath, $ FilePath))

// Stampa il messaggio di successo
eco '

Il file viene caricato correttamente.

';

altro

// Stampa il messaggio di errore
eco '

Errore caricamento del file.
'. $ _Files ['uploadFile'] ['Errore']. '

';


altro
// Stampa il messaggio di errore
eco '

Il tipo o la dimensione del file non sono supportati.

';

altro

// Stampa il messaggio di errore
eco '

Errore caricamento del file.
'. $ _Files ['uploadFile'] ['Errore']. '

';

include ('uploadform.html ');

altro
include ('uploadform.html ');
?>

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 file
if (isset ($ _ files ['uploadfile'])

// Leggi il nome file originale
$ fileName = $ _files ['uploadFile'] ['name'];
// Leggi il nome file temporaneo
$ FILETEMPPATH = $ _files ['uploadFile'] ['tmp_name'];
// Leggi il tipo di file
$ fileType = $ _files ['uploadFile'] ['type'];
// Imposta il percorso del file di caricamento
$ FILEPATH = dirName (__ File__).'/uploads/'.$ nome file;
// Controlla il tipo di file
if ($ fileType == 'text/plain')

// Controlla qualsiasi errore di caricamento esiste o no
if ($ _files ['uploadfile'] ['errore'] === upload_err_ok)

if (is_uploaded_file ($ filetEmppath))
// Carica il file utilizzando la funzione Move_Upload_file ()
if (move_uploaded_file ($ FileTempPath, $ FilePath))

// Stampa il messaggio di successo
echo $ nome file ."viene caricato con successo.
";
Echo "Il contenuto del file:
";
ReadFile ($ FilePath);

altro

ECHO 'Errore Caricamento del file.
'. $ _Files ['uploadfile'] ['errore'];


altro
Il file echo "non viene caricato.";



altro
Il file echo "non è un file di testo.";

altro

?>




Caricamento del file utilizzando PHP



Seleziona il file:




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.