Newsgroup: it.comp.www.asp
Titolo: Come in tv: un aiutino...

Ciao a tutti,
da qualche giorno ho cominciato a ripensare un sito web in modo che i
contenuti vengano gestiti da un database. Questo rappresenta anche il mio
primo tentativo serio di lavorare con ASP. I contenuti vengono aggiornati da
giornalisti senza alcune esperienza html e quindi ho pensato di allestire
una interfaccia web al database (forse interfaccia e' troppo ma e' il suo
ruolo). Attraverso una form acquisisco i dati riferiti all'articolo (titolo,
ecc,) e ho scelto, credendo piu' opportuno cosi', di memorizzare il testo di
ogni articolo in un file (il cui nome viene assegnato dall'applicazione)
esterno al database in cui viene memorizzato solo il suo nome.
Non ho avuto nessun problema a realizzare le pagine con gli script necessari
salvo un unico, fondamentale, aspetto:
non sono riuscito a capire come controllare la directory in cui scrivere i
suddetti file. Ho creato una directory virtuale sul server (sembra che con
Server.MapPath sia indispensabile), ho settato i permessi dell'utente web in
modo che possa scrivere ma ottengo dei risultati soprendenti (per il mio
modo di pensare...). In pratica il file viene scritto (non nella directory
specificata ma nella directory principale del web) ma mi associa la stringa
text al nome che invece e' composto dalla data e dall'ora (un file scritto
alle 10 e 20 del 31 luglio si chiamera', o almeno si dovrebbe chiamare,
10203171999.txt. Invece ottengo text10203171999.txt). Prima di creare la
directory virtuale sul web se specificavo solo il nome del file o mi veniva
scritto sulla root del disco (gli veniva aggiunta pero' il nome del web) o
nella cartella system32 con il nome del file scritto correttamente.
In questi giorni non posso chiedere aiuto al ns amministratore del sistema,
mi potete essere di aiuto voi?
Vi ringrazio
Ciao
Claudio

Il problema l'ho risolto ma mi interesserebbe continuare la discussione sul
discorso della gestione degli aggiornamenti. Un mio collega sostiene che
sarebbe meglio integrarli nel database e non ricorrere a dei file esterni.
Ritornando al problema dei file di testo...
Non avendo capito correttamente e in modo completo il metodo con cui
indicare la path in cui andare a scrivere i file (la path della directory
virtuale viene indicata con lo stile Unix, usando lo slash, mentre il
restante percorso del file va indicato con il metodo dos con il backslash)
per una serie di prove, e in un caso di mio errore, non ho assimilato subito
che in effetti le stringhe aggiunte al titolo del file erano, ne' piu' ne'
meno, i nomi delle directory che io avevo specificato come parte iniziale
del path.
Sfortuna, o inesperienza, hanno voluto che avessi chiamato la directory di
destinazione "text" per cui a confusione si e' aggiunta confusione.
Per il risolvere il problema descritto nel messaggio originale e' stato
sufficiente aggiungere un backslash al nome da assegnare al file come, ad
esempio:
avendo specificato  (Server.MapPath("/text") & NomeFile)
NomeFile = "\pippo.txt" e non
NomeFile = "pippo.txt"
Grazie e scusate
Claudio

 10203171999.txt. Invece ottengo text10203171999.txt
Cambia formato, metti AAAAMMGGHHmm
Per cui 4 di anno, 2 di mese, 2 di giorno, 2 di ore e 2 di minuti.
Questo per 2 motivi:
1) avendo prima anno, mese, ecc. la dir ti rimane ordinata cronologicamente.
1) devi fargli mettere anche lo zero prima del 7 (nel tuo esempio) perche'
rischi omonimia ad esempio.
10.15 del 11 gennaio 1999 viene rappresentato con il tuo metodo 10151111999
che e' uguale al 1° novembre dello stesso anno.