Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    oggetto create.folder con doppia cartella

    ciao a tutti,

    sto implementando una specie di url rewrite domestico

    il form con cui inserisco i titoli e tutti gli altri campi è il file AGGIUNGI.ASP
    codice:
    <%
    	If Request.QueryString("a") = "conferma" Then
    		FTitolo = Request.Form("Titolo")
    		FTesto = Request.Form("Testo")
    		FLocalita = Request.Form("localita")
    
    		If FTitolo = "" Then
    			Errore = Errore & "Il campo Titolo è obbligatorio"
    		End If
    		If FTesto = "" Then
    			Errore = Errore & "Il campo Testo è obbligatorio"
    		End If
    
    		If Errore = "" Then
    			SQL = " INSERT INTO Tabella (Titolo, Testo, localita) VALUES ('"& Replace(FTitolo, "'", "''") &"', '"& Replace(FTesto, "'", "''") &"', '"& Replace(FLocalita, "'", "''") &"') "
    			Set RS = Server.CreateObject("ADODB.Recordset")
    			RS.Open SQL, Conn, 1, 3
    			Set RS = Nothing
    
    			SQL = " SELECT TOP 1 ID FROM Tabella ORDER BY Tabella.ID DESC "
    			Set RS = Server.CreateObject("ADODB.Recordset")
    			RS.Open SQL, Conn, 1, 3
    			If NOT RS.EOF Then
    				RS.MoveFirst
    				IDArticolo = RS("ID")
    			Else
    				IDArticolo = 0
    			End If
    			Set RS = Nothing
    
    			Set FSO = CreateObject("Scripting.FileSystemObject")
    			
    'piccola condizione per verificare se  la cartella gia esiste o no
    Dim objFile
    dim folderID
    dim folderLOC 
    folderID = IDArticolo
    folderLOC = FLocalita
    Set objFile = Server.CreateObject ("Scripting.FileSystemObject")
    'se non esiste  la  creo recuperando il nome dell'id
      objFile.CreateFolder(Server.MapPath("/public/"& folderID nota #1 & "/" & folderLOC nota #2))
    Set objFile = Nothing
    
    			Set Documento = FSO.OpenTextFile(Server.MapPath("/public/"& folderID & "_" & folderLOC) & "\" & ConvertiTitoloInNomeScript(FTitolo, FLocalita, IDArticolo), 2, True)
    			ContenutoFile = ""
    			ContenutoFile = ContenutoFile & "<" & "%" & vbCrLf
    			ContenutoFile = ContenutoFile & "VarID = "& IDArticolo &"" & vbCrLf
    			ContenutoFile = ContenutoFile & "%" & ">" & vbCrLf
    
    			'piccola modifica' 
    
    			ContenutoFile = ContenutoFile & ""
    			Documento.Write ContenutoFile
    			Set FSO = Nothing
    		End If
    	End If
    
    	Conn.Close
    	Set Conn = Nothing
    %>
    <html>
    <head>
    	<title>Aggiungi</title>
    </head>
    
    <body>
    	<form action="aggiungi.asp?a=conferma" method="post">
    		Titolo
    		
    <input type="textbox" name="Titolo" size="255" maxlength="255" />
    		
    Località
    		
    <input type="textbox" name="localita" size="150" maxlength="150" />
    		
    Testo
    		
    <textarea name="Testo" rows="5" cols="40"></textarea>
    		
    <input type="submit" name="aggiungi" value="Aggiungi" />
    	</form>
    	home
    </body>
    </html>
    la cartella con il nome dell'ID (vedi nota #1 già si crea ma, DENTRO QUESTA, vorrei crearne almeno una seconda nota #2.

    dovrebbe essere qualcosa del genere

    codice:
    objFile.CreateFolder(Server.MapPath("/public/"& folderID & "/" & folderLOC))
    in cui poi la funzione va a creare un file .asp

    codice:
    Set Documento = FSO.OpenTextFile(Server.MapPath("/public/"& folderID & "/" & folderLOC) & "\" & ConvertiTitoloInNomeScript(FTitolo, FLocalita, IDArticolo), 2, True)
    questo barbaro modo mi ha restituito il seguente errore

    codice:
    Errore di run-time di Microsoft VBScript errore "800a004c'
    
    Impossibile trovare il percorso
    
    /rewr/vns/admin/aggiungi.asp, riga 42
    la riga 42, MANCO A DIRLO, è quella con le note #1 e #2
    qualche suggerimento???
    ---------------------------
    danielix05

  2. #2
    fatti stampare

    codice:
    "/public/"& folderID nota #1 & "/" & folderLOC nota #2
    a video e vedi se ti pare un percorso plausibile, e poi se vuoi testa le cose con if fso.FolderExists e fso.FileExists
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  3. #3

    fatto il response

    seguendo il tuo consiglio, visualizzabile in questa pagina

    ho modificato il codice in questo modo
    codice:
    ...
    Dim objFile
    dim folderID
    dim folderLOC 
    folderID = IDArticolo
    folderLOC = FLocalita
    Response.Write "
    Percorso da generare...: " & "/public/"& folderID & "/" & folderLOC & "/" &"
    "
    
    Set objFile = Server.CreateObject ("Scripting.FileSystemObject")
    'se non esiste  la  creo recuperando il nome dell'id
      objFile.CreateFolder(Server.MapPath("/public/" & folderID & "/" & folderLOC & "/"))
    Set objFile = Nothing <--RIGA 44
    
    
    
    			Set Documento = FSO.OpenTextFile(Server.MapPath("/public/"& folderID & "/" & folderLOC) & "\" & ConvertiTitoloInNomeScript(FTitolo, FLocalita, IDArticolo), 2, True)
    			ContenutoFile = ""
    			ContenutoFile = ContenutoFile & "<" & "%" & vbCrLf
    			ContenutoFile = ContenutoFile & "VarID = "& IDArticolo &"" & vbCrLf
    			ContenutoFile = ContenutoFile & "%" & ">" & vbCrLf
    ...
    ma il risultato è questo

    codice:
    
    Percorso da generare...: /public/158/70/
    
    Errore di run-time di Microsoft VBScript errore "800a004c'
    
    Impossibile trovare il percorso
    
    /rewr/vns/admin/aggiungi.asp, riga 44 
    ma è possibile quello che chiedo? creare due cartelle una nell'altra recuperando i loro nomi dal form?

    a presto, daniele.
    ---------------------------
    danielix05

  4. #4
    Prima dovresti creare la cartella A e poi dentro di essa la cartella B, altrimenti usa fso.buildPath(percorso)

  5. #5
    in teoria è come dici tu ma in pratica IO non ci riesco, mi dà sempre che non riesce a trovare il percorso.

    come vedi sopra non riesco a intrecciare bene la funzione alla riga 44. che poi è quella che snoda il mio discorso. mi dai qualche indizio?

    grazie.
    ---------------------------
    danielix05

  6. #6
    1. prendi sto percorso
    2. lo splitti
    3. scorri l'array di risulta
    4. controlli se la cartella esiste già
    5. se NON esiste la crei

    è facile, basta un po' di attenzione

  7. #7
    Mi pare strano che ti dia l'errore sulla riga del nothing...
    ... prova a commentarla.
    Poi prova questa:
    codice:
    ...
    Dim objFile
    dim folderID
    dim folderLOC 
    folderID = IDArticolo
    folderLOC = FLocalita
    Response.Write "
    Percorso da generare...: " & "/public/"& folderID & "/" & folderLOC & "/" &"
    "
    
    Set objFile = Server.CreateObject ("Scripting.FileSystemObject")
    'se non esiste  la  creo recuperando il nome dell'id
      objFile.buildPath(Server.MapPath("/public/" & folderID & "/" & folderLOC & "/"))
    Set objFile = Nothing <--RIGA 44
    
    
    
    			Set Documento = FSO.OpenTextFile(Server.MapPath("/public/"& folderID & "/" & folderLOC) & "\" & ConvertiTitoloInNomeScript(FTitolo, FLocalita, IDArticolo), 2, True)
    			ContenutoFile = ""
    			ContenutoFile = ContenutoFile & "<" & "%" & vbCrLf
    			ContenutoFile = ContenutoFile & "VarID = "& IDArticolo &"" & vbCrLf
    			ContenutoFile = ContenutoFile & "%" & ">" & vbCrLf
    ...
    Oppure leggi: http://www.google.com/search?q=fso.b...e7&rlz=1I7ADBF

  8. #8
    si l'errore non è sul set nothing ma la riga precedente.

    il mio problema non è creare una directory, questo è già assodato,

    la mia difficoltà è crearne: due una nell'altra.

    1 che abbia il nome dell'id (e ci siamo)
    la 2 che si denomini con il testo di un altro campo tipo "localita" o altro.

    non faccio il controllo se già esiste, perchè creo cartelle in base all'id che ovviamente è univoco.

    ho provato il build path ma non riesco a capire come possa risolvere il mio problema.

    sapete che sono un po' troppo duro di comprendonio...

    ultimo, mems, il codice che m'hai detto di provare (sbaglio?) o è uguale a quello che ho scritto prima?

    non ci capisco più niente... sarà novembre?
    ---------------------------
    danielix05

  9. #9
    danie', fa' come ti ho detto io

  10. #10

    scusate

    scusate ragazzi ma non ce la fo'

    non ci riesco, non capisco come procedere.

    scusate....
    ---------------------------
    danielix05

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.