Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 21

Discussione: ... Prestazioni

  1. #11
    partecipo se serve. la cosa mi interessa - se Corì lo addisposiziona

  2. #12
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Originariamente inviato da optime
    partecipo se serve. la cosa mi interessa - se Corì lo addisposiziona
    Quale parte ti interessa?

    Roby

  3. #13
    non una parte specifica. mi interessa il progetto

  4. #14
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Io posto una situazione in cui una serie di immagini vengono caricate via FTP all'interno di una cartella del db "/public/foto_ftp/" e successivamente, richiamando una pagina asp ad hoc, le cartelle (categorie) ed i file (foto) vengono inseriti nel db. Poiché l'esempio utilizza un db Access, ad ogni richimo della pagina di inserimento, si procede a compattare il db.
    Nel caso in cui si inserisse una nuova cartella senza ritoccare le precedenti con le vecchie foto si potrebbe evitare di svuotare le tabelle ed aggiornarle semplicemente.

    carica_db.asp
    codice:
    <%@ Language = VBScript%>
    
    <%
    server.ScriptTimeout = 3600
    call vuota_db(oVuota_db)
    call compatta_db(oCompatta_db)
    call carica_db(oCarica_db)
    %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" lang="it">
    <head>
    	<title>Foto</title>
    </head>
    <body>
    
    
    <%=oVuota_db%></p>
    
    
    <%=oCompatta_db%></p>
    
    
    <%=oCarica_db%></p>
    </body>
    </html>
    common.asp
    codice:
    <%
    dim connFoto
    '******* Apertura db *********
    sub dbConnect
    	Set connFoto = Server.CreateObject("ADODB.Connection")
    	connFoto.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath("/........mdb")
    end sub
    '*****************************
    
    '******* Chiusure db *********
    sub dbDisconnect
    	connFoto.close
    	set connFoto = nothing
    end sub
    '*****************************
    
    'Vuoto le tabelle del db
    'INPUT: -
    'OUTPUT: -
    sub vuota_db(byRef oVuota_db)
    	oVuota_db = ""
    	dbConnect
    	sql = "DELETE FROM tFoto"
    	connFoto.Execute(sql)
    
    	sql = "DELETE FROM tCat"
    	connFoto.Execute(sql)
    	dbDisconnect
    	oVuota_db = oVuota_db &"1) SVUOTAMENTO DATABASE"
    	oVuota_db = oVuota_db &"
    Il database &egrave; stato svuotato con successo."
    end sub
    
    'Compatto il db
    'INPUT: -
    'OUTPUT: -
    sub compatta_db(byRef oCompatta_db)
    	oCompatta_db = ""
    	'creo un array con i nomi dei database da comprimere senza estensione .mdb
    	dbasearray = array("foto_ftp_db")
    	for i = lbound(dbasearray) to ubound(dbasearray)
    		'comprimo il database creandone una copia compressa e mantenendo l'originale
    		oCompatta_db = oCompatta_db &"2) COMPRESSIONE DATABASE "& dbasearray(i) &".mdb"
    		Set miodb = CreateObject("DAO.DBEngine.36") 
    		miodb.CompactDatabase server.MapPath("/mdb-database/"& dbasearray(i) &".mdb"), server.MapPath("/mdb-database/" & dbasearray(i) & "_tmp.mdb") 
    		oCompatta_db = oCompatta_db &"
    Il database "& dbasearray(i) &".mdb &egrave; stato compresso con successo."
    		Set miodb=Nothing 
    
    		' elimino il vecchio database (quello originale)
    		Dim obJfso, objFile
    		oCompatta_db = oCompatta_db &"
    
    3) CANCELLAZIONE VECCHIO DATABASE "& dbasearray(i) &".mdb"
    		Set objFso=Server.CreateObject("scripting.filesystemobject")
    		Set objFile=objFso.GetFile(server.MapPath("/mdb-database/"& dbasearray(i) &".mdb"))
    		objFile.Delete
    		oCompatta_db = oCompatta_db &"
    Il vecchio database "& dbasearray(i) &".mdb &egrave; stato cancellato con successo."
    		Set objFSO = Nothing
    		Set objFile = Nothing
    
    		' rinomino il database temporaneo con il nome di quello originale
    		oCompatta_db = oCompatta_db &"
    
    4) RINOMINO DEL DATABASE "& dbasearray(i) &".mdb"
    		Dim myobjFSO 
    		Set myobjFSO = CreateObject("Scripting.FileSystemObject") 
    		myobjFSO.MoveFile server.MapPath("/mdb-database/"& dbasearray(i) &"_tmp.mdb"), server.MapPath("/mdb-database/"& dbasearray(i) &".mdb") 
    		oCompatta_db = oCompatta_db &"
    Il database "& dbasearray(i) &".mdb &egrave; stato rinominato con successo."
    		Set myobjFSO = Nothing
    	next
    end sub
    
    'Carico il db con le cartelle e le foto presenti
    'INPUT: -
    'OUTPUT: -
    sub carica_db(Byref oCarica_db)
    	oCarica_db = ""
    	oCarica_db = oCarica_db &"5) LETTURA DELLE CARTELLE E DELLE FOTO"
    	Dim fso, f, f1, fc, s, cont
    	Set fso = CreateObject("Scripting.FileSystemObject")
    	Set f = fso.GetFolder(server.MapPath("/public/foto_ftp/"))
    	Set cartelle = f.SubFolders
    	dbConnect
    	For Each cartella in cartelle
    		cat_nome = cartella.Name
    		cat_data_creazione = cartella.DateCreated
    		cat_data_creazione = dataToDataDb(left(cat_data_creazione,10))
    		cat_data_ultima_modifica = cartella.DateLastModified
    		cat_data_ultima_modifica = dataToDataDb(left(cat_data_ultima_modifica,10))
    		oCarica_db = oCarica_db &"
    Cartella: "& cat_nome &""
    		'response.Write cat_nome & "
    "
    		'response.Write cat_data_creazione & "
    "
    		'response.Write cat_data_ultima_modifica & "
    "
    		
    		'Inserisco la cartella
    		sql = "INSERT INTO tCat (cat_nome,cat_data_creazione,cat_data_ultima_modifica) "
    		sql = sql &"VALUES ('"& cat_nome &"', '"& cat_data_creazione &"', '"& cat_data_ultima_modifica &"')"
    		connFoto.Execute(sql)
    		
    		'Recupero l'ultima categoria inserita
    		cat_id = 0
    		sql = "SELECT @@IDENTITY FROM tCat"
    		set rs = connFoto.Execute(sql)
    		if not rs.EOF then
    			cat_id = rs(0)
    		end if
    		set rs = nothing
    
    		if cat_id > 0 then
    			'Scorro i file della categoria
    			Set f1 = fso.GetFolder(server.MapPath("/public/foto_ftp/"& cat_nome))
    			Set file = f1.Files
    			For Each elem in file
    				'Recupero solo quelle piccole (prefisso tn_)
    				if left(elem.name,3) = "tn_" then
    					foto_piccola = elem.name
    					foto_grande = mid(foto_piccola,4,len(foto_piccola)-3)
    					foto_data_creazione = elem.DateCreated
    					foto_data_creazione = dataToDataDb(left(foto_data_creazione,10))
    					foto_data_ultima_modifica = elem.DateLastModified
    					foto_data_ultima_modifica = dataToDataDb(left(foto_data_ultima_modifica,10))
    					oCarica_db = oCarica_db &"
    --> Foto (piccola): "& foto_piccola &""
    					'response.Write foto_piccola & "
    "
    					'response.Write foto_grande & "
    "
    					'response.Write foto_data_creazione & "
    "
    					'response.Write foto_data_ultima_modifica & "
    "
    
    					'Inserisco le foto della categoria
    					sql = "INSERT INTO tFoto (cat_id,foto_piccola,foto_grande,foto_data_creazione,foto_data_ultima_modifica) "
    					sql = sql &"VALUES ("& cat_id &", '"& foto_piccola &"', '"& foto_grande &"', '"& foto_data_creazione &"', '"& foto_data_ultima_modifica &"')"
    					connFoto.Execute(sql)
    				end if
    			next
    		end if
    	Next
    	dbDisconnect
    	set f1 = nothing
    	set f = nothing
    	set fso = nothing
    	oCarica_db = oCarica_db &"
    
    Caricamento effettuato con successo. Processo terminato."
    end sub
    
    '************* Funzione a cui passo una data per il Db ******
    function dataToDataDb(data)
    	' Preleva dalla data l'anno
    	f_aa = Year(data)
    	' Preleva dalla data il mese
    	f_mm = right("0" & Month(data), 2)
    	' Preleva dalla data il giorno
    	f_gg = right("0" & Day(data), 2)
    
    	'Concatena i valori in un unico numero
    	dataToDataDb = f_aa &"-"& f_mm &"-"& f_gg
    end function
    %>
    Questo è un esempio per partire.
    Nel db come si vede vengono inserite anche le date di creazione e modifica dei singoli file nel caso in cui si desideri ordinare le immagine per data di inserimento o altro.

    Roby

  5. #15
    grazie robbbby. copio e me lo guardo con calma.

  6. #16
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Le utilità di base sono due:
    1) Poter sfruttare un db piuttosto che FSO migliorando le prestazioni
    2) Utilizzare SQL per l'ordinamento che è tutta un'altra cosa, ammesso che con FSO e array si riesca nell'intento...

    Roby

  7. #17
    Se ti serve Optime posso mandarti i miei file. Ovvio sono in PHP

  8. #18
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Originariamente inviato da Corinna
    Se ti serve Optime posso mandarti i miei file. Ovvio sono in PHP
    Traditrice! :maLOL:

    Roby

  9. #19
    Originariamente inviato da Roby_72
    Traditrice! :maLOL:
    Tzè, tu invece sei un anarchico meschino, sto ancora aspettando una risposta da te in un thread di stamane

  10. #20
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Originariamente inviato da Corinna
    Tzè, tu invece sei un anarchico meschino, sto ancora aspettando una risposta da te in un thread di stamane
    :master:
    Ah quella degli accenti... :maLOL:
    Roby

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.