Lettura di un file

In PHP possiamo leggere un file dal server.

Supponiamo di aver creato un file rubrica.txt e di volerlo leggere. Il file contiene i seguenti nomi:

Esempio

Antonio Rossi 3338585969

Luigi Bianchi 3492356896

Federico Verdi 3665285968

La procedura consiste nei seguenti punti:

1) Si memorizza in una variabile il nome del file:

$nomefile ="rubrica.txt";

2) Si assegna ad una variabile a piacere $fp il richiamo della funzione fopen che serve per gestire i file:

$fp = fopen($nomefile,"r");

E' obbligatorio:

a) fopen in inglese, che vuol dire: apri un file;

b) parentesi tonde aperte e chiuse;

c) due variabili all'interno delle parentesi tonde, separandole con una virgola; la prima variabile contiene il nome a piacere del file; la seconda variabile può avere solo i seguenti valori:

 

r cioè legge un file esistente;

r+ cioè legge e scrive su di un file esistente.

 

$fp = fopen($nomefile,"r");

Significa: apri un file nuovo di nome $nomefile, cioè rubrica.txt, per leggere il contenuto del file e assegna la gestione del file alla variabile $fp.

3) se il file è stato aperto in lettura, cioè con r, posso solo leggere con l'istruzione fgets.

$nome1=fgets($fp,5096);

fgets serve per leggere una sola riga di un file, nel punto in cui ci troviamo; è obbligatorio;

a) fgets in inglese;

b) le parentesi tonde aperte e chiuse;

c) due variabili all'interno delle parentesi tonde, separate da una virgola; la prima variabile $fp deve essere la stessa con la quale è stato aperto il file; la seconda variabile contiene un numero che indica i bytes da leggere; di solito mettiamo 5096 in modo da leggere tutta una riga.

Dovendo leggere tre nomi dalla rubrica aggiungiamo:

$nome2=fgets($fp,5096);

$nome3=fgets($fp,5096);

 

4) terminata la lettura di tutti i dati è obbligatorio chiudere il file con l'istruzione fclose;

fclose($fp);

fclose chiude un file aperto in precedenza ed assegnato alla variabile $fp. Se non chiudiamo il file è possibile che vengano persi tutti i dati. Se, invece, chiudiamo il file con fclose, il file viene chiuso sul server senza perdere dei dati.

 

Lettura di rubrica.txt

Tecnologie informatiche 2010