Gestire i file con PHP

Per gestire i files dobbiamo tenere a mente queste funzioni principali 

  • fopen($file, $mode) apre un file
  • fread($file) e file_get_contents($file) leggono un file
  • unlink($file) elimina un file
  • file_exists($file) e is_file($file) controllano se il file esiste
  • is_writable($file) che controlla se il file è scrivibile
  • is_readable($file) controlla se il file è leggibile
  • fwrite($testo, $file) scrive il file sovrascrivendolo
  • fclose($file) chiude il file

Se facciamo attenzione alla prima funzione, fopen, noteremo che il secondo input della firma è $mode, che serve per indicare il metodo di apertura del file. Di seguito la lista dei possibili mode

  • r -> Apre il file in sola lettura e posiziona il puntatore all’inizio
  • r+ -> Apre il file in lettura e scrittura e posiziona il puntatore all’inizio
  • w -> Apre il file (se non esiste tenta la creazione) in sola scrittura e posiziona il puntatore all’inizio tagliando tutto il contenuto
  • w+ -> Apre il file (se non esiste tenta la creazione) in lettura e scrittura e posiziona il puntatore all’inizio tagliando tutto il contenuto
  • a -> Apre il file (se non esiste tenta la creazione) in sola scrittura e posiziona il puntatore alla fine del file
  • a+ -> Apre il file (se non esiste tenta la creazione) in lettura e scrittura e posiziona il puntatore alla fine del file
  • x -> Serve per creare ed aprire il file in sola scrittura posizionando il puntatore all’inizio del file. Restituirà un errore nel caso in cui il file già esisterà. Difficilmente si utilizzerà questa modalità in quanto funziona solo sui file locali
  • x+ -> Serve per creare ed aprire il file in lettura e scrittura posizionando il puntatore all’inizio del file. Restituirà un errore nel caso in cui il file già esisterà. Anche questo è applicabile solo ai file locali

Adesso vedremo come è possibile scrivere in un file, e come leggerne uno riga per riga

Creare un nuovo file e scriverci dentro

<?php
$file = fopen("file.txt", "a") or die("Impossibile aprire il file!");
fwrite($file, "Messaggio\n");
fclose($file);
?>

Il carattere \n servirà per mandare accapo il puntatore alla fine del messaggio che vogliamo scrivere nel file.

Leggere un file riga per riga

<?php
$file = fopen("file.txt", "r") or die("Impossibile aprire il file!");
$riga = fgets($file);
fclose($file);
?>

Ad ogni uso del metodo fgets verrà letta una riga, dopodiché il puntatore verrà spostato alla riga successiva.

precedente | indice | successivo

Controlliamo ciclicamente il funzionamento dei link nei nostri articoli. Se noti dei link che non funzionano segnalacelo tra i commenti. Se hai apprezzato l'articolo considera l'idea di sostenere il blog anche con una piccola donazione. Grazie. Patreon / Ko-fi / Liberapay / Paypal

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *