CREARE UNA DIRECTORY

Questo è un esempio di script molto utile per grandi portali che devono essere sviluppati con tecnologia ASP (Active Server Page) sviluppato dalla famosa Microsoft…
Per semplicità questo script è stato sviluppato sotto forma di una funzione in modo che sia facile richiamarla in qualunque momento e non dover riscrivere il codice più volte appesantendo sempre di più la nostra pagina .asp ,  la cosa molto importante di questo script è che la funzione da un risultato, false o true. False in caso si verifica un errore e la directory non viene creata, invece true se la directory è stata creata correttamente senza verificarsi nessun tipo di errore.

Procediamo al codice:
---------------------------
<%
PUBLIC FUNCTION createDir(dirName)
    Dim objFso
    Dim return
    on error resume next : err = 0
    IF dirName = "" OR dirName = Null THEN
        return = False
    ELSE
        Set objFso = Server.CreateObject("Scripting.FileSystemObject")
        objFso.CreateFolder(Server.MapPath(dirName))
        IF (err = 0) THEN
            return = True
        ELSEIF (err <> 0) THEN
            return = False
        END IF
        Set objFso = Nothing
    END IF
    err = 0 : err.clear()
    createDir = return
END FUNCTION
%>
---------------------------
Ora vi spiegherò passo per passo cosa fa ogni riga di codice scritto sopra.

-----
<%
-----
Tag di apertura del codice ASP

-----
PUBLIC FUNCTION createDir(dirName)
-----
PUBLIC è la parola chiave per indicare che lo script deve poter essere eseguito da tutti utenti
FUNCTION è la parola chiave per creare una funzione per poi andare a richiamarla in qualsiasi parte della pagina. È consigliato mettere le funzioni al inizio della pagina.
CreateDir è il nome della funzione, tra parentesi si specificano i nomi delle variabili se alla funzione vengono passate dei valori. In questo caso viene passato il nome della cartella che si vuole creare.

-----
Dim objFso
Dim return
-----
Dim è la parola chiave di ASP per dichiarare le variabili. Corrisponde a var di PHP o JavaScript.
In questo caso vengono dichiarate due variabili objFso e return. Si può dichiarare le variabili anche con un dim separando le variabili con una virgola. Es.   Dim objFso, return

-----
on error resume next : err = 0
-----
on error resume next serve a indicare al server che in caso di un qualsiasi errore, ci deve dare più informazioni su quel errore. Per esempio si può ricavare il numero di errore con err.number o la descrizione con err.description . err = 0 serve a dire che non ci sono errori.
err=0 --> nessun errore
err<>0 --> ci sono errori. Poi l’errore cambia in base al numero del errore.

-----
IF dirName = "" THEN
return = False
-----
IF serve a far eseguire un serie di operazioni solo se una condizione sia vera.
In nostro caso se la variabile dirName (contiene il nome della cartella che successivamente sarà creata) non contiene valori assegna False alla variabile return.

-----
ELSE
-----
Se la variabile dirName contiene valori viene eseguito la creazione della cartella.

-----
Set objFso = Server.CreateObject("Scripting.FileSystemObject")
-----
Crea oggetto di tipo Scripting.FileSystemObject che serve appunto a creare/cancellare/modificare cartelle e file.

-----
objFso.CreateFolder(Server.MapPath(dirName))
-----
Con CreateFolder() diciamo al server di creare una cartella. Tra le parentesi si deve specificare la destinazione e nome della cartella da creare. Es. c:\nuova cartella\
Server.MapPath() stampa il percorso del file che contiene questo script. Tra le parentesi si mette il percorso che si vuole aggiungere, al serve.mappath si può aggiungere il percorso anche in questo modo. Es. Server.MapPath()&”nome_cartella\”. Il risultato che otteniamo è uguale.

-----
IF (err = 0) THEN
    return = True
ELSEIF (err <> 0) THEN
return = False
END IF
-----
Controlla se la variabile err sia ugale a 0. Se è vero assegna il valore booleano true alla variabile return. Se la variabile er che contiene il numero di errore è diverso da 0 allora assegna false a return. END IF chiude il nostro IF.

-----
Set objFso = Nothing
-----
Libera l’oggetto.

-----
err = 0 : err.clear()
-----
Cancella ogni tipo di avviso in caso di errore.

-----
createDir = return
-----
All’uscita della funzione restituisce il valore della variabile return. Per indicare che vogliamo far uscire un valore fuori una funzione dobbiamo mettere il valore dentro il nome della funzione cioè se la nostra funzione si chiama “Saluta” allora per far uscire un valore dobbiamo fare così: Saluta “valore”

-----
END FUNCTION
-----
Fine della nostra funzione.