Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

I File

Leggere e scrivere un file di testo
Leggere e scrivere un file di testo
Link copiato negli appunti

Grazie ai file, possiamo memorizzare semplici pacchetti di dati in modo da renderli presenti e accessibili per i visitatori del nostro sito web. Per rendere però visibili questi dati, dobbiamo essere in grado di accedervi sia sotto forma di lettura che sotto forma di scrittura. Per quanto riguarda la forma di scrittura, esistono due modalità. La prima consente di scrivere cancellando tutto il contenuto presente nel file. Questa opzione serve nel caso il contenuto precedente non interessi più dopo la modifica svolta (ad esempio un contatore utenti). La seconda modalità di scrittura è una modalità non distruttiva (verso il contenuto del file-come la precedente), ma aggiunge semplicemente i dati che si desidera porre in fondo a quelli presenti nel file in questione.

Prima di lavorare coi file, bisogna dire che ciò sarà possibile grazie all'oggetto FileSystemObject (FSO).

Ora vediamo come si agisce in sola lettura su un file:

<%
dim intModalita
intModalita=1
dim strFile

strFile = server.mapPath("file_di_testo.txt")

dim objFSO
set objFSO = server.crateObject("scripting.FileSystemobject")

dim objApriFile
objApriFile = objFSO.openTextFile(strFile,intModalita)

dim strContenutoFile
strContenutoFile=objApriFile.ReadLine()
response.write "Contenuto del File : <br> " & strContenutoFile

objApriFile.Close
Set objApriFile=nothing
%>

Il listato precedente, mostra le operazioni necessarie per leggere il file chiamato file_di_testo.txt e mostrare a video il relativo contenuto. Come si può osservare, nella variabile strFile viene memorizzato il percorso del file_di_testo.txt per usarlo nella creazione vera e propria dell'istanza del file. Grazie alla variabile objFSO viene creata un'istanza dell'oggetto FSO (File System Object).Nella variabile objApriFile viene aperto il file utilizzando la funzione openTextFile dell'oggetto appena istanziato nella variabile objFSO. Come si può notare, la funzione richiede due valori in ingresso. Il primo di questi è il nome del file da leggere. Il rimanente è la modalità di accesso al file. Ponendo questo valore uguale ad uno (come avviene immediatamente dopo la dichiarazione della variabile intModalita) e sfruttando la variabile che contiene il valore, il file sarà accessibile in lettura. Adesso, nella variabile strContenutoFile, posizioniamo il valore letto nel file aperto e grazie ad un response.write lo mostriamo a video. Una volta terminata questa fase di visualizzazione, chiuderemo le risorse sfruttate per la lettura del file in modo da renderle nuovamente libere.

Nella spiegazione dello script precedente, ho posto l'attenzione sulla variabile intModalita. Infatti, in base al valore che si pone in questa variabile, l'accesso sarà diverso. Se pongo la variabile uguale ad 1, accederò al file in sola lettura (come appena visto nell'esempio precedente). Se invece pongo il valore uguale a 2 interverrò sul file in scrittura cancellando tutto il contenuto esistente nel file. Se invece pongo il valore uguale ad 8 si accede sempre in scrittura, ma i dati inseriti nel file verranno accodati.

Ora vedremo lo stesso esempio di codice che agisce su un file di testo sia in scrittura distruttiva (utilizzo del 2) che in scrittura di accodamento (utilizzo dell'8).

<%
dim intModalita
' Se intModalita viene inizializzato a 2 si perde il contenuto precedente
' Se intModalita viene inizializzato a 8 si accoda il contenuto
Set Fil=CreateObject("Scripting.FileSystemObject")

dim strFile
strFile = server.mapPath("file_di_testo.txt")
Set out=Fil.OpenTextFile(strFile,intModalita,true)

out.WriteLine(valore_da_memorizzare_nel_file)

out.Close
Set out=Nothing
Set Fil=Nothing
%>

La procedura di lavoro dello script è molto simile a quella illustrata nella fase di lettura. Infatti cambia solo la modalità di accesso al file. Una nota sul listato appena esposto va posta su out.WriteLine. Grazie a questa istruzione, possiamo intervenire sul file memorizzando al suo interno il dato interessato.

A conclusione, voglio dare qualche consiglio su come e quando usare i file per memorizzare i dati. Prima di ogni altra cosa, bisogna dire che nei file vanno memorizzati dati NON sensibili e riservati. Questa necessità deriva dal fatto che se viene individuato il file di testo, è possibile visualizzarlo all'interno della finestra del browser di navigazione. Per memorizzare i dati sensibili e codici di accesso, si utilizzeranno i database che vedremo nelle prossime lezioni del corso. Inoltre, nei file vanno memorizzati dati che non sono vincolati tra di loro da relazioni in quanto non è possibile effettuare interrogazioni sugli stessi.

Ti consigliamo anche