Gestire i file con PHP

14 luglio 2017

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";
}

unlink()

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";
}

Tutte le lezioni

1 ... 41 42 43 ... 59

Se vuoi aggiornamenti su Gestire i file con PHP inserisci la tua e-mail nel box qui sotto:
Tags:
 
X
Se vuoi aggiornamenti su Gestire i file con PHP

inserisci la tua e-mail nel box qui sotto:

Ho letto e acconsento l'informativa sulla privacy

Acconsento al trattamento di cui al punto 3 dell'informativa sulla privacy