back to top

L’oggetto File System di Classic ASP

Il File System altro non è che un componente presente in ogni computer che permette di creare, modificare, rinominare, cancellare, file e cartelle. Insomma, senza il File System non esisterebbe il concetto di computer e, per certi versi, nemmeno il concetto di informatica.

ASP dispone della libreria Scripting.FileSystemObject che permette, mediante un’applicazione Web, di gestire i contenuti del server Web in termini di file e cartelle.

La gestione va varie sfaccettature: esistono applicazioni chiamate, in maniera generica, File Manager, ovvero la simulazione di un sistema operativo in cui è possibile creare e gestire file e cartelle. Si tratta di un tipo di applicazione piuttosto avanzata, quindi non arriveremo a tanto.

I file che vengono utilizzati mediante ASP sono i file di testo, ovvero quelli con estensione .txt creabili col Notepad. Spesso i file di testo vengono utilizzati per la lettura e la scrittura come un piccolo e poco flessibile database (Rif. capitolo 14).

In questa lezione non affronteremo ogni possibile utilizzo dell’oggetto File System (da ora in poi FSO), argomenti che tratteremo separatamente nella sezione Tutorial ASP del sito, ma tratteremo l’FSO in maniera introduttiva, vedendo come scrivere su un file e come leggere i dati contenuti attraverso una pagina ASP.

Si crei nella directory degli esempi del corso la cartella fso. All’interno si crei il file database.txt e si inseriscano dei dati di prova secondo la seguente struttura:

Luca
Ruggiero
http://www.lukeonweb.net

Max
Bossi
http://www.mrwebmaster.it
Di seguito il codice commentato del file leggi.asp (da posizionare nella stessa cartella del file di testo appena visto) che effettua la lettura dei dati:
<%@LANGUAGE = VBScript%>
<%
' Recupero il file di testo
Dim database
database = Server.MapPath("database.txt")

' Creo l'FSO
Dim FSO
Set FSO = Server.CreateObject("Scripting.FileSystemObject")

' Apro il file di testo
Dim apri
Set apri = FSO.OpenTextFile(database)

' Leggo i dati con un ciclo
With Response
While apri.AtEndOfStream = False
.Write "Nome: " & apri.ReadLine() & "<br>"
.Write "Cognome: " & apri.ReadLine() & "<br>"
.Write "Homepage: " & apri.ReadLine() & "<br><br>"
apri.SkipLine() ' Salto la riga vuota
Wend
End With

' Distruggo l'FSO
Set FSO = Nothing
%>
Creiamo adesso il file scrivi.asp che effettua la scrittura di un nuovo dato nel file di testo:
<%@LANGUAGE = VBScript%>
<%
' Recupero il file di testo
Dim database
database = Server.MapPath("database.txt")

' Creo l'FSO
Dim FSO
Set FSO = Server.CreateObject("Scripting.FileSystemObject")

' Apro il file di testo
Dim apri
Set apri = FSO.OpenTextFile(database)

' Recupero i vecchi dati
Dim vecchi_dati
vecchi_dati = apri.ReadAll()

' Scrivo il nuovo dato
Dim scrivi
Set scrivi = FSO.CreateTextFile(database)
scrivi.WriteLine("Roberto")
scrivi.WriteLine("Rossi")
scrivi.WriteLine("http://www.robertorossi.com")
scrivi.WriteLine("")
scrivi.WriteLine(vecchi_dati)

' Distruggo l'FSO
Set FSO = Nothing

' Rimando al file di lettura dei dati
Response.Redirect "leggi.asp"
%>

Pubblicitร