Inserire nome file contenuti in cartella in database con controllo esistenza file in db

Discussione in 'Classic ASP' iniziata da giro, 30 Agosto 2015.

  1. giro

    giro Nuovo Utente

    Registrato:
    24 Marzo 2015
    Messaggi:
    11
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    Ciao a tutti sono incappato nel seguente problema
    Ho una cartella dove carico le mie foto framite FTP per comodità e velocità
    Una volta caricate le immagine nella cartella utilizzo uno script che "legge" le immagini presenti nella cartella selezionata e li salva in un db Fino qui tutto OK
    Il problema nasce quando aggiungo nuove immagini nella cartella a questo punto utilizzando lo script forrei caricare tutte le nuove immagini nel db ( e non quelle gia caricate precedentemente
    utilizzando il seguente scipt non mi da nessuno errore cicla e non carica le immagini.....

    credp do dover ciclale le immagini contenunte nella cartella con quelle nel db...... ma mi sono un po arenato.....
    .
    PHP:

    id 
    request("id")


    'connessione al database
    Set Conn = Server.createobject("ADODB.Connection")
    Conn.connectionstring="DRIVER={Microsoft Access Driver (*.mdb)};DBQ="& Server.Mappath("/mdb-database/ov.mdb")
    Conn.Open


    set fso = server.createObject("scripting.fileSystemObject")
    set folder = fso.getFolder(server.mapPath("gallery") & "/" & id & "/")
    set files = folder.files
    '
    controllo file in cartella
    for each file in files
        rfn 
    Lcase(right(file.name,4))    
        if 
    rfn ".jpg" or rfn ".JPG" or rfn ".png"  or rfn ".bmp" then
    'effetto il controllo se la foto risulta gia presente 
        SQLL="Select * from foto where diritto='"&file.name& "'"
        Set rs = Server.CreateObject("ADODB.Recordset")
        rs.Open SQLL, conn ,3,3

        if rs.eof  then
    '
    NON è presentememorizzo
    '####################################################################################


            SQL = "INSERT INTO foto (diritto,id_cat) VALUES ('"& file.name&"',"& id &")"
            Conn.Execute SQL

        end if


            else
            Response.Redirect "fotogallery.asp?txt=socio+aggiunto+con+successo+!!!"
        end if
    next


    set files = nothing
    set folder = nothing
    set fso = nothing  


    Conn.close
    set Conn = nothing

    response.Redirect "fotogallery.asp"
     
  2. giro

    giro Nuovo Utente

    Registrato:
    24 Marzo 2015
    Messaggi:
    11
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    nessuno sa darmi un piccolo aiuto su come procedere ?
    ho provato a modifare lo scipt cosi... ma nulla
    io vorrei effettuare un controllo nel db e inserire le immagine che non sono ancora presenti ( es ho 4 immagini via ftp ne aggiungo 5 vorrei inserire nel db il nome delle 5 nuove immagini e non delle 5 piu le 4 gia presenti

    PHP:

    <%
    id request("id")

    'connessione al database
    Set Conn = Server.createobject("ADODB.Connection")
    Conn.connectionstring="DRIVER={Microsoft Access Driver (*.mdb)};DBQ="& Server.Mappath("/mdb-database/ov.mdb")
    Conn.Open

    set fso = server.createObject("scripting.fileSystemObject")
    set folder = fso.getFolder(server.mapPath("gallery") & "/" & id & "/")
    set files = folder.files
    '
    controllo file in cartella
    for each file in files
        rfn 
    Lcase(right(file.name,4))    
        if 
    rfn ".jpg" or rfn ".JPG" or rfn ".png"  or rfn ".bmp" then
    'effetto il controllo se la foto risulta gia presente 
        Sql = "SELECT diritto FROM foto  WHERE diritto = '" & file.name & "'"
    Set RS = Conn.Execute(Sql)
      If RS.EOF Then
        Conn.Execute("INSERT INTO foto (diritto) VALUES('" & file.name & "')")
        Response.Write(file.name)
        Response.Write(" è stato aggiunto al database.")
        '
    qui dovrei passare all ' immagine successiva
      Else
        Response.Write(file.name)
        Response.Write(" è già presente nel database.")


    set files = nothing
    set folder = nothing
    set fso = nothing  




    response.Redirect "fotogallery.asp"
    RS.Close
    Set RS = Nothing
    Conn.close
    set Conn = nothing
    End If
    end if
    Next
     
  3. Alessandro Di Giacomo

    Alessandro Di Giacomo Nuovo Utente

    Registrato:
    5 Ottobre 2015
    Messaggi:
    4
    Mi Piace Ricevuti:
    0
    Punteggio:
    0
    Ciao ,
    essendo un recordset un contenitore di informazioni che può essere una riga del db o più righe
    io tempo fa ho avuto un problema simile,
    ho risolto tirando via il confronto alla query (la parte where)
    ho analizzato ogni singolo record
    con do while not record.eof --> loop
    se nome presente passa avanti aggiungendo un numero in progressione a una variabile (esempio variabile=variabile+1)
    e(basta che trovi un solo nome puoi anche uscire dal ciclo con exit do dato che immagine presente )
    se non trovi nulla variabile=0
    dopo di che dopo il ciclo do loop
    fai un semplice if
    if variabile = 0 then
    'nessun nome memorizzato
    'e qui esegui la query di inserimento
    else
    response.write "immagine già inserita"
    end if

    Ciao
     
Sto caricando...

Condividi questa Pagina