Webaperto
  Facili Lezioni Asp - Sesta Lezione     
 
Eventi
<
Settembre
>
L M M G V S D
-- -- 01 02 03 04 05
06 07 08 09 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 -- -- --

Messaggi veloci
Messaggetti

Coleporter: Qui puoi inserire direttamente i tuoi messaggi
Coleporter: Ultimate le 8 facili lezioni Asp che trovate nel menu orizzontale.
Canasta: Vero che state per pubblicare dei progetti Asp?
Coleporter: Sì, prossimamente.
Coleporter: Inserita la Mappa del Sito in Menu
Coleporter: In downloads/asp la guida al VBScript
The-BiT: Un caro saluto a Coleporter, dopo mesi di mia assenza su internet
Coleporter: Ricambio sinceramente, Bit

Per imettere messaggi occorre essere registrati.

 
Facili Lezioni Asp - Sesta Lezione

         Sesta Lezione

Sommario:

Lettura e scrittura di Files nel server Web:

- Inclusioni lato server
- Server execute
- Aprire e leggere i files
- Scrivere files sul server  

Inclusioni lato server

Abbiamo già fatto cenno alla possibilità di richiamare in una pagina un'altra pagina mediante un file include.
Supponiamo, ad esempio, di aver scritto in una pagina salvata con il nome barraNavigaz.htm, questo:

<a href = "index.htm">Home Page</a> |
<a href = "forum.asp">Forum</a> |
<a href = "contatti.htm">Contatti |

  

possiamo richiamare questa pagina in un'altra mediante la seguente istruzione inserita nel punto in cui occorre:

<!--#include file = "barraNavigaz.htm"-->

in tale maniera verrà visualizzato l'output di barraNavigaz.htm nella nuova pagina. Va da sè che che servirsi di questi files di inclusione per i casi ripetitivi fa risparmiare molto tempo e memoria.

Server execute

I files include non possono essere inseriti dentro un listato asp (in una pagina asp sì, ma fuori dei tags <% %>). Se si presenta la necessità di richiamare un file all'interno del listato asp occorre servirsi dell'istruzione Server.Execute.
Facciamo un esempio:

<%
Response.Write "Sono nella pagina 1 <br>"
Server.Execute "pagina2.asp"
Response.Write "Sono di nuovo nella pagina 1"
%>

Salvate questa pagina come pagina1.asp. Poi scrivete quest'altra e salvatela come pagina2.asp:

<%
Response.Write "Sono nella pagina 2 <br>"
%>

L'output è il seguente:
Sono nella pagina 1
Sono nella pagina 2
Sono di nuovo nella pagina 1

La seconda linea di pagina1.asp ha eseguito il comando della pagina 2 ma  ha mantenuto il controllo del listato e così può eseguire la terza linea.
Se avete dubbi sull'utilità di questa istruzione, chiedeteci chiarimenti nel forum.

Aprire e leggere i files

Vi diciamo subito che per creare, aprire, leggere e scrivere i files nel server occorre che i files siano posti in cartelle che abbiano i permessi di lettura e scrittura. Dette cartelle nei server host sono generalmente quelle denominate "public" o "cgi-bin". Aggiungiamo anche che si parla di files testo e, comunque, non binari.

Premettiamo che, da ora in poi, useremo molto gli oggetti di cui abbiamo parlato nella lezione 4: alcuni sono oggetti interni che hanno già una loro denominazione, altri sono esterni e dobbiamo inizializzarli noi. Può darsi che la sintassi dei listati vi resti un po' difficoltosa. Tuttavia non possiamo, per ogni istruzione, addentrarci molto a lungo per ovvie ragioni di spazio. Significa che, dove avete qualche problema, cercheremo di chiarirlo nel forum. In ogni caso, dal contesto generale del listato, il tutto dovrebbe tornare chiaro.
Occorre innanzi tutto preparare il server a interagire con i files mediante l'istruzione "Scripting.FileSystemObject", poi indicare il percorso in cui si trova il files sul server (l'istruzione relativa è "Server MapPath(percorso)") e infine aprire, se già esiste, il files con l'istruzione OpenTextFile(percorso, 1). Il parametro numerico che si inserisce dopo "percorso," indica con 1 un'apertura del file per leggere, con 2 per scrivere, con 8 per aggiungere testo alla fine del file. Voi, per prova inserirete, nella dir public, un file che salverete come fileProva.txt.

Esempio (chiariamo in anticipo che con FSO intendiamo FilesSistemOpen):

<%@ LANGUAGE=VBSCRIPT %>
<% Option Explicit %>
<HTML>
<BODY>

<%
Dim objOpenFile, objFSO, strPath
strPath = Server.MapPath("public/prova.txt")
Set objFSO = _
Server.CreateObject("Scripting.FileSystemObject")
Set objOpenFile = _
objFSO.OpenTextFile(strPath, 1)
Do While Not objOpenFile.AtEndOfStream
Response.Write objOpenFile.ReadAll & "<BR>"
Loop
objOpenFile.Close
Set objOpenFile = Nothing
Set objFSO = Nothing
%>
</BODY>
</HTML>

Analisi:
Dimensioniamo le tre valiabili: una var. stringa e due var. oggetto, assegniamo loro i valori di cui alle linee da 2 a 4; inseriamo in un loop Do while...Loop la lettura del file; in sostanza scriviamo: "Finchè ObjOpenFile ha del contenuto [la proprietà dell'oggetto di tipo txt stream denominata AtEndStream lo consente (cioè, finchè il suo contenuto è true il loop continua)], leggi il contenuto di tutto il file (ReadAll è un'altra proprietà di detto file txt). Una volta effettuata la lettura è buona norma chiudere ed annullare gli oggetti, cosa che è sempre opportuno fare come vedremo in seguito (non ci soffermiamo qui sulle ragioni di tale opportunità). Concludiamo: noterete che il file appare senza la sua formattazione originale. Per far sì che la conservi nella lettura, aggiungete, prima del loop, la linea: Response.Write "<PRE>".

Scrivere files sul server

Per scrivere un file, o in un file, si usa il metodo Write. Si può scrivere in un file nuovo (per crearlo v. il listato precedente) oppure in un file esistente. Scriviamo questo listato:

<%@ LANGUAGE=VBSCRIPT %>
<% Option Explicit %>
<HTML>
<BODY>

<%
Dim objNewFile, objOpenFile, objFSO, strPath
strPath = Server.MapPath("../public/testo.txt")
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
If objFSO.FileExists(strPath) Then
Set objOpenFile = objFSO.OpenTextFile(strPath, 2)
else
Set objOpenFile = objFSO.CreateTextFile(strPath)
end if
objOpenFile.Write("Pippo ")
objOpenFile.WriteLine("è un personaggio di:")
objOpenFile.Write("Walt Disney.")
objOpenFile.Write("Sopra questa scritta vengono saltate due righe.")
objOpenFile.WriteBlankLines(3)
objOpenFile.WriteLine
objOpenFile.Write("Eseguito.")
objOpenFile.Close
Set objOpenFile = Nothing
Set objFSO = Nothing
%>
</BODY>
</HTML>

Analisi:

Dimensioniamo ed assegniamo i valori alle variabili. Controlliamo se il file esiste, altrimenti creiamolo, dopodichè scriviamo "Pippo " con il solo metodo Write, poi "è un personaggio di:" con il metodo WriteLine (che scrive nella linea e va a capo), poi scriviamo tre linee bianche con il metodo WriteBlankLines e così via fino a che vogliamo scrivere. Infine ricordiamoci di distruggere, con Nothing, l'istanza dell'oggetto di tipo testo. Prima, però, dobbiamo chiuderla (Close).

Se vi sono problemi su questa o su successive lezioni, comunicatecelo nel forum  oppure scriveteci.

    Back     Next
Stampa questa pagina

Continuate a leggere le Lezioni Asp. Vi gioverà e vi piacerà anche.
 
Visitatori
Visitatori Correnti : 3
Membri : 0

Per visualizzare la lista degli utenti collegati alla community, devi essere un utente registrato.
Iscriviti
Log in
Login
Password
Memorizza i tuoi dati:
Più recenti - Siti
NicolaPiscopoART (IT)
danzaclassica.net (IT)
Luisa Signorelli, danzatrice e coreografa (IT)
Webstyling.it (IT)
realizzazione biopiscine (IT)
piccolo principe counseling (IT)
I Misteri di Patricia Cornwell (IT)
coop soc l'arcoiris (IT)
vba di excel (IT)
Festival di Sanremo (IT)
umbria travel (IT)
Hotel Roma (IT)
Portale culturale e turistico sul Cilento e Paestu (IT)
annunci (IT)
Sito di A.P.T. (IT)
New Point City (IT)
DISKA's PHOTOS (IT)
Antichi sapori del Salento (IT)
PubbliCartoMania (IT)
Il mio Jazz (IT)
LuciaGardellin (IT)
Parabita Online (IT)
Arte Attacchi (IT)
La Bottega di Nina (IT)
Pittura e Poesia (IT)
Ricerca Creativa (IT)
Mondo Antico..... (IT)
Don Dialetto (IT)
Fianello Borgo (IT)
The-Bit (IT)
Maryart-Gallery (IT)
Jan Friend (IT)
Il Mondo di Krilù (IT)
Sitoaperto (IT)
I preferiti
Il Mondo di Krilù (916)
Jan Friend (746)
Sitoaperto (569)
Il mio Jazz (495)
Don Dialetto (353)
Maryart-gallery (334)
The-Bit (319)
Fianelloborgo (308)
Parabita Online (302)
PubbliCartoMania (291)
Labottegadinina (276)
DISKA's PHOTOS (257)
Cerca nel Sito


 
 © 02/2007 Webaperto  -   Contattami  -   Realizzato con © ASP-Nuke 2.0.7
Questa pagina è stata eseguita in 0,03125secondi.
Versione stampabile Versione stampabile