• User

    Immagini su DB o no

    In verità la domanda non è specifica di mysql... ma dei db in generale.

    Io per abitudine se ho delle gallerie di immagini nel sito
    quando creo un db, creo anche le tabelle che andranno a contenere i link, i percorsi che fanno riferimento alle thumbs e alle immagini.

    Tempo fa però una persona che conosco, mi ha messo un dubbio..

    Lui infatti mentre progettavamo il DB mi ha detto, di togliere la tabella che faceva riferimento alle immagini perchè tanto non serviva.
    Le immagini infatti si possono tranquillamente recuperare direttamente dalla cartella, tramite codice.

    In effetti pensandoci un po' ... cavolo senza tabella.. posso tirar su direttamente le immagini senza star li a riempire il db con tutti i percorsi...

    Ma sono sicuro che un motivo valido c'era se le infilavo in una tabella...

    Qualcuno mi rinfresca la memoria?

    Sapete dirmi qual'è la cosa migliore da fare e perchè?
    Tabella con percorsi o cartella da cui caricare direttamente?

    Aspetto fiducioso ^_^

    Grazie a tutti.


  • Moderatore

    innanzitutto bisogna dire che la proposta del tuo amico è totalmente fallata nel caso in cui ci sia la necessità di avere una directory/cartella con tutte le immagini dove però le varie immagini vanno in pagine differenti.....

    quello che il tuo amico propone, se ho capito bene, è di enumerare tramite l'API di interfaccia col filesystem la directory in cui tu conservi le immagini....questa soluzione però va bene solo se stai costruendo una galleria di immagini in cui sai che le immagini verranno visualizzate in gruppi da 10-20 per pagina....ad ogni modo c'è un overhead enorme per l'enumerazione di directory con migliaia di file....

    l'uso delle tabelle del DB invece ti permette di attribuire un immagine ad un determinato file html/documento in modo mirato....insomma è così che fanno i CMS come Joomla e Mambo....

    ovviamente se la struttura del sito lo permette potresti considerare anche la possibilità di generare pagine html statiche contenenti direttamente i link alle immagini (ripeto però che non sempre la struttura del sito lo permette)


  • User Attivo

    Oltre a ciò che ha detto Paolino ci sono altri vantaggi ad avere le immagini su DB dovute proprio al fatto che hai un database. Innanzitutto puoi mettere una descrizione e un titolo, quindi quando visualizzi l'immagine hai anche una descrizione e un titolo (e non AAA19823409.jpg). Poi puoi ad esempio mettere una categoria e quindi avere gallerie per categoria. Puoi fare la ricerca ad esempio di tutte le immagini che contengono GATTO (nel titolo o nella didascalia) e via di seguito.

    L'unico caso in cui é meglio avere le immagini nella directory senza TABELLA é quando non hai un database.