-
Controllare se un file è già presente in un db senza considerare una parte del testo
Cerco di spiegarmi.
Nel mio sito un utente può caricare una foto.
Io salvo delle informazioni della foto in una tabella di un database.
Prima di tutto "metto a posto" il nome del file eliminandone accenti, scrivendolo tutto in minuscolo, cambiando gli spazi con delle "-" e così via.
Poi per evitare sovrascritture e per altri motivi pre-pongo un numero autoincrementante al nome del file.
Se ho 1234 foto inserite e l'utente AAA inserisce la foto con nome:
oggi è PRIMavera.jpg
io salvo la foto con il nome del file
1235-oggi-e-primavera.jpg
e nel database salvo le informazioni:
-datainserimento
-nome file (1235-oggi-e-primavera.jpg)
-altre
Ecco la domanda
Voglio evitare che uno stesso utente carica la stessa foto più volte, o meglio la foto con lo stesso nome, più volte entro 3 mesi.
Per fare questo volevo fare una query di controllo nel database:
prima di tutto faccio:
SELECT * FROM tabellafoto
WHERE utente = '$utente'
AND datacaricamento <= '$oggipiutremesi'
AND nomefile = '???'
Ecco come faccio a confrontare i nomi dei file.
Sono in grado di ottenere il nome della foto da caricare senza spazi, maiuscole, accenti etc etc e lo devo confrontare con tutti i nomi dei file del database DOPO il numero-
Nel database le foto sono salvate come:
NUMERO-nomefiledatabase.jpg
Come posso nella query ottenere:
WHERE nomefile = 'nomefiledatabase.jpg' (ovvero senza il nuimero davanti)?
LE foto sono migliaia e non vorrei fare una query che carica troppo il server.
Elenco delle
webcam di montagne, sci, località italiane
SKI WEBCAM
-
usa l'operatore LIKE quando cerchi.
WHERE nomefile LIKE '%nomefoto.jpg'
il % sta ad indicare qualunque cosa prima di.. anche se forse arrivo tardi visto che è quasi un mese che hai scritto
Permessi di Scrittura
- Tu non puoi inviare nuove discussioni
- Tu non puoi inviare risposte
- Tu non puoi inviare allegati
- Tu non puoi modificare i tuoi messaggi
Regole del Forum