Verificare le dimensioni di un file sul server

Spesso un webmaster realizza interfaccie che permettano ai suoi utenti di effettuare l'upload di file sul server, come immagini (classico esempio nei circuiti banner), file da allegare a newsletter, ecc. Onde evitare un abuso di questo tipo di servizio è però bene controllare la dimensione dei file caricati sul server.
Il seguente script illustra come rilevare la dimensione in Kb di un qualunque file residente sul nostro server:

<%
Function GetFileSize(filepath)
  Dim fso, f
  Set fso = Server.CreateObject("Scripting.FileSystemObject")
  Set f = fso.GetFile(filepath)
  Response.Write("La dimensione del file è: ")
  Response.Write(FormatNumber(f.Size/1024, 2)&" Kb")
  Set f = nothing
  Set fso = nothing
End Function

Dim fname, fpath
fname = "myfile.gif"  'nome del file da controllare
fpath = Server.MapPath(fname)
GetFileSize(fpath)
%>

Vediamo ora un ulteriore sviluppo di questa funzione; se la dimensione del file supererà il limite passato come parametro, il file stesso verrà eliminato.

<%
Function CheckFileSize(filepath, sizelimit)
  Dim fso, f
  Set fso = Server.CreateObject("Scripting.FileSystemObject")
  Set f = fso.GetFile(filepath)
  fsize = CInt(f.Size/1024)
  If fsize>sizelimit Then
    fso.DeleteFile(filepath)
    Response.Write("La dimensione del file ("&fsize&" Kb) supera il limite massimo di "&sizelimit&" Kb. Il file è stato eliminato.")
  Else
    Response.Write("La dimensione del file ("&fsize&" Kb) non supera il limite massimo.")
  End If
  Set f = nothing
  Set fso = nothing
End Function

Dim fname, fpath, slimit
fname = "myfile.gif"  'nome del file da controllare
fpath = Server.MapPath(fname)
slimit = 15  'limite dimensione consentito
Call CheckFileSize(fpath, slimit)
%>


Ritieni il contenuto di questa pagina incompleto, non attendibile oppure oggetto di altre problematiche? INVIA UNA SEGNALAZIONE Grazie!

Tags cloud

benzina Mackenzie Foy Sanremo 2015 Velocità di propagazione Circo Massimo prezzemolo GMT Cubo Rubik Gallipoli meteora ansaldo BCL QSL UNO distanza Michael Caine Amici 15 invernale PageRank Elena Breveglieri regedit Budino bolide Neffa Velocizzare Leixen NDB Avvio motore RTTY trend Evan Ross massaggio erbicidi Assassinato Ludovico Caldarera Via Da Qui GPL bellezza Airbnb programmi Canadair gelatina Ricky Gervais trasmissioni televisive Lombardia SOLDI INAIL fiordi pomodori energia pulita ritrasmissione Jennifer Lawrence sezione amore divinità radice Ethernet Goffredo Mameli seguenza Beatrice manifestazione finocchio Fox alcaloidi schiuma Ponzonese mappa Guardando Il Cielo Viminale money I Miss You Humidex VV-898 Celio losio sifone veicolo ricina rai 4 dipoli Serale Amici 15 bilaterale pesce 187 Volfango De Biasi Afelio vodafone rinominare Sicilia illuminatore Steve Buscemi Recco Meteo John Lithgow Shanghai Hongqiao winter Peutingeriana RST Incrociatore dati ottica telecamere casa 2G Fetovaia osservazione file Fuhrer anidride solforosa la7 VH1 vegetali stazione Fraunhofer raccomandata avvio Betta splendens raggiera Paola Bianchi La Borsa Di Una Donna motore di ricerca cartoni Seconda guerra mondiale mangiare corsivo vasca elettricità Digital / Analog resistenza elettrica cuocere Scala squalo comunicazioni nibali pezzi roulotte Pella Telecom tela statunitense Canale maki Nordafricana obbiettivo zoom 18-55 mm rete Tunisi Centro Notifiche phishing capacità argon frigorifero