Script asp: Leggere e scrivere file con asp

   difficoltà:  script script script script script

Script simili
10/10/2006


Con questo script vediamo come leggere il contenuto di un file e come scrivere un file di testo con asp. Useremo l'oggetto FileSystemObject, apriremo il file che ci interessa con OpenTextFile, passandogli come parametro l'oggetto filesystem creato e la modalità di apertura del file: solo lettura(1), scrittura(2), append(8). Se aperto in scrittura cancellerà il contenuto del file e lo riscriverà da zero, se aperto come append aggiungerà il testo alla fine del documento aperto. Il file puo' essere letto riga per riga con ReadLine o tutto con ReadAll.
Controlliamo sempre che il file su cui lavoriamo esista.

Con questo script leggiamo il contenuto del file tutto in una volta:

<%
filePath = Server.Mappath("file_testo.txt")
Set objFileSystem = Server.CreateObject("Scripting.FileSystemObject")
if objFileSystem.FileExists(filePath ) then
'apro file in lettura
Set objFile = objFileSystem.OpenTextFile(filePath, 1)
'scrivo a video contenuto file
Response.Write objFile.ReadAll
'oppure lo inserisco in una variabile contenuto_testo=objFile.ReadAll
objFile.Close
Set objFile=Nothing
end if
Set objFileSystem=Nothing
%>
Con questo script leggiamo il file riga per riga
<%
filePath = Server.Mappath("file_testo.txt")
Set objFileSystem = Server.CreateObject("Scripting.FileSystemObject")
if objFileSystem.FileExists(filePath ) then
Set objFile = objFileSystem.OpenTextFile(filePath, 1)
'leggo file riga per riga fino alla fine del file
Do While Not objFile.AtEndofStream
Response.Write objFile.ReadLine & "<br>"
Loop
objFile.Close
Set objFile=Nothing
end if
Set objFileSystem=Nothing
%>
Scrivo il testo nel file (controllare la cartella abbia i permessi di scrittura) e se il file non esiste lo creo.
<%
filePath = Server.Mappath("file_testo.txt")
Set objFileSystem = Server.CreateObject("Scripting.FileSystemObject")
if not objFileSystem.FileExists(filePath) then
'se non esiste lo creo
objFileSystem.CreateTextFile(filePath)
end if
Set objFile = objFileSystem.OpenTextFile(filePath, 2)
'scrivo una riga sul file
' objFileSystem.OpenTextFile(filePath, 2) -> sovrascrivo file
' objFileSystem.OpenTextFile(filePath, 8) -> aggiungo il testo al fondo del file
objFile.WriteLine("nuovo testo file")
objFile.Close
Set objFile=Nothing
Set objFileSystem=Nothing
%>






Commenti


  joseph layousse

24/3/2007 11:52:56

un messagio mi dice che manca obifilesystem

  Fabio

24/3/2007 11:58:57

cosa ti dice esattamente il messaggio?
sei sicuro di non aver solo scritto male il nome della variabile?
obifilesystem invece di objfilesystem?

  Raffa

2/4/2007 12:02:48

Server object error 'ASP 0177 : 800401f3'

Server.CreateObject Failed

/raffaeleconti2/pagine/apri_file3.asp, line 2

800401f3

  Fabio

2/4/2007 12:13:24

a me funziona correttamente.
Che hosting usi? Non è magari un hosting di quelli gratuiti, magari con Scripting.FileSystemObject disabilitato 'per ragioni di sicurezza'?



Lascia un commento


Inserire il codice visualizzato nell'immagine*:
codice
Nome*:
Email/Link:
Testo*:
 
I campi contrassegnati con * sono obbligatori.