PHP – Lavorare con i files

Se si vuole lavorare con applicazioni professionali, l’accesso in lettura e scrittura a file sarà quasi inevitabile.

PHP mette a disposizione due funzioni per includere del codice in altri file, quali una libreria di funzioni, una serie di definizioni di variabili, del codice HMTL che può fungere da header o da footer delle pagine etc. etc.

Ad esempio, queste semplici righe di codice includono nel file php tutte le istruzioni html per la normale pagina html.

A questo punto chiarisco un concetto che fino a qui era vago: come devono essere salvate le pagine scritte in php? E’ buona abitudine tenere separato il codice php con il codice html. Poi nel codice php includo con il seguente comando il codice html.

Questo codice mostra come è possibile includere del codice html e lasciare il codice php “pulito”, senza contaminarlo con del codice html. In questo modo, i designers ed i redattori di contenuti possono dedicarsi a scrivere le pagine html, senza dover modificare gli script php.

Questo esempio verifica l’esistenza di un file e tutte le sue caratteristiche: data di creazione, se è modificabile o meno, dimensione e l’ultima modifica.

Da notare che le funzioni filectime() e filemtime() restituiscono le date in formato TIMESTAMP di Unix.

Questo è l’output del precedente comando:

Lettura e scrittura di un file

fgets()

La funzione fgets() legge un file riga per riga

La funzione fopen() permette di aprire un file in tre diverse modalità : lettura (r), scrittura (w) e append (a), (per scrivere in fondo al file, aggiungendo nuovi dati).

bisogna stare attenti che la variabile text deve essere prima inizializzata.

fread()

Legge il file ma a righe invece che tutto in blocco

in questo caso legge per riga ma comunque poi in fase di visualizzazione tutto il file viene letto.

file_get_contents()

Sicuramente il metodo più veloce per leggere un file è il seguente. Ricordiamoci che php non nasce per leggere i file ma questi comandi servono per leggere piccoli file.

In questo caso ogni elemento del vettore è una riga del file.

Non esiste il metodo migliore o peggiore alla fine basta conoscere un metodo per leggere un file.

fwrite()

Si deve introdurre la funzione flock(), a cui bisogna ricorrere ogni volta che la scrittura di un file si può verificare in multiutenza. In pratica, lo scopo di questa funzione è bloccare il file ad un singolo utente, in modo che gli altri utenti che tentano di scrivere nel file trovano la risorsa occupata, aspettando che venga rilasciata per poter poi operare.
Sintassi:
flock(file_pointer,x)
dove x può essere :
1 Condiviso (tutti possono leggere ma nessuno può scrivervi)
2 Esclusivo (nessuno può leggere o scrivere, tranne chi ha ottenuto il privilegio)
3 Rilascio (Rilascio del file)

Copia di un file

Eccone un esempio:

Notate come avviene la chiamata ad fputs(). Come secondo parametro, cioè come dati da
scrivere nel file DOLLAROdest, si sfrutta ciò che ritorna la funzione fread operante sul file DOLLAROsrc.

About Francesco Bragadin

Insegno informatica e telecomunicazioni al liceo scienze applicate ed all'indirizzo informatica e telecomunicazioni. Ho terminato gli studi in ingegneria elettronica e telecomunicazioni lavorando per molti anni come libero professionista nell'ambito della gestione storage e disaster recovery su mainframe.
This entry was posted in Senza categoria. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *