Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial
  • Lezione 42 di 67
  • livello intermedio
Indice lezioni

Gestire i file con PHP

Analizziamo le più importanti funzioni di PHP per la gestione dei file.
Analizziamo le più importanti funzioni di PHP per la gestione dei file.
Link copiato negli appunti

PHP mette a disposizione diverse funzioni per lavorare con il file system, dai costrutti per leggere e scrivere file a quelli per creare directory o modificare i permessi.

file_exists()

La funzione file_exists() controlla se un file o directory esiste. Prende in ingresso il path del file da verificare e restituisce un valore booleano.

if (file_exists('/tmp/miofile') {
    echo 'file esistente';
} else {
    echo 'file non trovato';
}

is_file()

La funzione is_file() verifica se il path passato come parametro è un file. Restituisce false se, ad esempio, il file è una directory o non esiste.

if (is_file('/tmp/miofile') {
    echo 'file valido';
} else {
    echo 'la risorsa non esiste oppure non è un file';
}

filesize()

La funzione filesize() restituisce la dimensione di un file in bytes. Nel caso in cui il file non esista o non sia possibile calcolarne la dimensione restituisce false.

echo "la dimensione del file è di " . filesize('/tmp/miofile') . " bytes";

file_get_contents()

La funzione file_get_contents() restituisce una stringa con il contenuto di un file. Il parametro principale che prende in ingresso è il path del file.

Supponiamo di avere un file che contiene degli utenti, uno per riga. Il seguente codice leggerà il contenuto del file e creerà un array con gli utenti trovati.

$usersContent = file_get_contents('/tmp/users.txt');
$users = explode("\n", $usersContent);
var_dump($users);

file_put_contents()

La funzione file_get_contents() scrive una stringa all'interno di un file. Prende in ingresso tre parametri:

  1. path del file;
  2. dati da scrivere;
  3. flag: possono essere tre tipi di costanti, la principale è FILE_APPEND con cui possiamo indicare a PHP di appendere il dato anziché sostituirlo a quello esistente.

Riprendendo l'esempio precedente: supponiamo stavolta di avere un array di nomi e di volerli salvare all'interno di un file, uno per ogni riga:

$users = ['Simone', 'Giuseppe', 'Renato'];
file_put_contents('/tmp/users.txt', implode("\n", $users));

copy()

La funzione copy(), come ci suggerisce il nome, ci consente di copiare un file in un path di destinazione. Prende in ingresso due parametri:

  1. il path sorgente;
  2. il path di destinazione.

e restituisce true se la copia va a buon fine, false altrimenti. Notifica un warning se il file non esiste.

if (!copy('/tmp/file_sorgente.txt', '/tmp/file_destinazione')) {
    echo "si è verificato un errore durante la copia del file";
}

La funzione unlink() cancella un file dal file system. Prende in ingresso il path del file e restituisce come valore di ritorno un booleano: true se il file è stato cancellato correttamente, altrimenti false. Notifica un warning se il file non esiste.

if (!unlink('/tmp/file_da_cancellare') {
    echo "si è verificato un errore durante la copia del file";
}

Ti consigliamo anche