Un saluto a tutti i partecipanti,
Durante lo studio e la sperimentazione sulla programmazione web mi sono imbattuto in una questione: come memorizzare le immagini?
Ovviamente non sto parlando di immagini statiche ma di immagini, o comunque file (il tipo non ha importanza) che fanno parte di un database.
Di primo acchito ho pensato di memorizzarli direttamente nel database avendo così tutti i dati in un solo blocco.
Tuttavia la macchinosità e gli artifizi che bisogna mettere in campo per renderli facilmente fruibili mi hanno indotto a valutare se è proprio il caso di tenerli all'interno del database.
In effetti li si potrebbe tenere in una cartella a parte dando loro un nome (o meglio un codice) e tenere nel database solo il riferimento (il codice).
In effetti questa tecnica sarebbe migliore sotto molti punti di vista: velocità di accesso, facilità d'uso, costo ridotto (lo spazio sul database costa di più). Inoltre scrivere una sorta di garbage collector che, di tanto in tanto, faccia pulizia eliminando i files che non hanno più riferimenti è una cosa semplice.
Ma questi sono solo miei ragionamenti.
Quali sono le tecniche che vengono comunemente utilizzate per la memorizzazione di files?
Ringrazio anticipatamente.
[Siti web] Memorizzazione files e immagini.
Moderatori:
Paolino,
fairyvilje
12 messaggi
• Pagina 1 di 2 • 1, 2
2
voti
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
-

TardoFreak
73,9k 8 12 13 - -EY Legend-

- Messaggi: 15754
- Iscritto il: 16 dic 2009, 11:10
- Località: Torino - 3° pianeta del Sistema Solare
2
voti
Ciao,
Perdona la risposta stringata, ma sono dal tablet.
Per quanto ne so io:
Nel DB conservi i nomi dei file con le loro estensioni se non sono tutte uguali e le loro relazioni con i contenuti, ad esempio pagine prodotti o articoli di blog oppure ancora didascalie.
Le foto che possono essere caricate vanno gestite in fase di upload controllando che la dimensione massima non superi quella dichiarata nelle impostazioni.
Considera sempre il filesistem del server perché non potrai gestire quante foto vuoi in un unica cartella, ma al massimo 7000 o giù di li. Se te ne servono di più divertiti a costruire un buon sistema di catalogazione.
Se domani non hanno risposto meglio di me, integro volentieri ma ora ho un crampo alla mano!
Perdona la risposta stringata, ma sono dal tablet.
Per quanto ne so io:
Nel DB conservi i nomi dei file con le loro estensioni se non sono tutte uguali e le loro relazioni con i contenuti, ad esempio pagine prodotti o articoli di blog oppure ancora didascalie.
Le foto che possono essere caricate vanno gestite in fase di upload controllando che la dimensione massima non superi quella dichiarata nelle impostazioni.
Considera sempre il filesistem del server perché non potrai gestire quante foto vuoi in un unica cartella, ma al massimo 7000 o giù di li. Se te ne servono di più divertiti a costruire un buon sistema di catalogazione.
Se domani non hanno risposto meglio di me, integro volentieri ma ora ho un crampo alla mano!

Più so e più mi accorgo di non sapere.
Qualsiasi cosa abbia scritto, tieni presente che sono ancora al mio primo rocchetto di stagno.
Qualsiasi cosa abbia scritto, tieni presente che sono ancora al mio primo rocchetto di stagno.
0
voti
In tal caso servirebbero due indici, uno per la directory e l'altro per il file.
Oppure n indici per n-1 livelli di directory.
Oppure n indici per n-1 livelli di directory.
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
-

TardoFreak
73,9k 8 12 13 - -EY Legend-

- Messaggi: 15754
- Iscritto il: 16 dic 2009, 11:10
- Località: Torino - 3° pianeta del Sistema Solare
1
voti
Mi si annoderanno le dita...
Allora, molto dipende da quello che devi fare e di quante foto devi caricare/far caricare agli utenti.
Le piattaforme più famose di blogging ad esempio fanno così:
Una cartella per tutti glu upload
All'interno una cartella x l'anno ad esempio 2015
Poi una cartella per il mese
Poi una cartella x il giorno
Poi diverse cartelle quanti sono i formati della foto necessari
In questo modo, ti basta memorizzare la data di upload della foto e saprai sempre dove cercarla.
Se poi le cartelle sono poche, ad esempio 4/5 puoi anche evitare di memorizzare il percorso e fare una funzione che ti cerca la foto mediante file exist. Ma questo perde efficacia quante più sono le foto che popolano le cartelle e quante più foto vuoi caricare in pagina.
Ti prego di considerare che é solo quello che so io a riguardo.
Allora, molto dipende da quello che devi fare e di quante foto devi caricare/far caricare agli utenti.
Le piattaforme più famose di blogging ad esempio fanno così:
Una cartella per tutti glu upload
All'interno una cartella x l'anno ad esempio 2015
Poi una cartella per il mese
Poi una cartella x il giorno
Poi diverse cartelle quanti sono i formati della foto necessari
In questo modo, ti basta memorizzare la data di upload della foto e saprai sempre dove cercarla.
Se poi le cartelle sono poche, ad esempio 4/5 puoi anche evitare di memorizzare il percorso e fare una funzione che ti cerca la foto mediante file exist. Ma questo perde efficacia quante più sono le foto che popolano le cartelle e quante più foto vuoi caricare in pagina.
Ti prego di considerare che é solo quello che so io a riguardo.
Più so e più mi accorgo di non sapere.
Qualsiasi cosa abbia scritto, tieni presente che sono ancora al mio primo rocchetto di stagno.
Qualsiasi cosa abbia scritto, tieni presente che sono ancora al mio primo rocchetto di stagno.
1
voti
Sulla eventuale configurazione del db:
Molti fanno due tabelle. Una con l'elenco delle foto e l'altra con le relazioni ai contenuti.
Molti fanno due tabelle. Una con l'elenco delle foto e l'altra con le relazioni ai contenuti.
Più so e più mi accorgo di non sapere.
Qualsiasi cosa abbia scritto, tieni presente che sono ancora al mio primo rocchetto di stagno.
Qualsiasi cosa abbia scritto, tieni presente che sono ancora al mio primo rocchetto di stagno.
1
voti
Grazie per le risposte, ora so come fare. 

"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
-

TardoFreak
73,9k 8 12 13 - -EY Legend-

- Messaggi: 15754
- Iscritto il: 16 dic 2009, 11:10
- Località: Torino - 3° pianeta del Sistema Solare
0
voti
E' un piacere essere utile. 

Più so e più mi accorgo di non sapere.
Qualsiasi cosa abbia scritto, tieni presente che sono ancora al mio primo rocchetto di stagno.
Qualsiasi cosa abbia scritto, tieni presente che sono ancora al mio primo rocchetto di stagno.
0
voti
Comunque per ora ho trovato un sistema più semplice: memorizza l'immagine nel database e, quando la devo visualizzare, creo un file temporaneo che poi cancello dopo la visualizzazione.
Non è il massimo dell'efficienza ma funziona.
Non è il massimo dell'efficienza ma funziona.
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
-

TardoFreak
73,9k 8 12 13 - -EY Legend-

- Messaggi: 15754
- Iscritto il: 16 dic 2009, 11:10
- Località: Torino - 3° pianeta del Sistema Solare
0
voti
in effetti piuttosto che occupare spazio nel database, si cerca spesso di salvare le immagini su file.
[spesso, ma non necessariamente, si usa per il nome del file un hash random di N (ad es 64) caratteri, in modo da rimuovere il vecchio nome]
Se c'è un problema di sicurezza e le cartelle immagini devono essere rese inaccessibili si puo' procedere con il file .htaccess ... oppure se si è in grado di accedere direttamente al server si possono usare cartelle locali inaccessibili via web
Chiaramente puo' a questo punto essere necessario salvare i nomi dei file su database
A questo punto tramite php è possibile in ogni momento accedere al singolo file e passarlo all'utente (che magari ha i giusti permessi, tipo è correttamente loggato al sito) anche senza spostare il file, ma predisponendo un corretto stream (vedi header)
credo puoi controllare qui questa particolare tecnica http://php.net/manual/it/function.readfile.php
[spesso, ma non necessariamente, si usa per il nome del file un hash random di N (ad es 64) caratteri, in modo da rimuovere il vecchio nome]
Se c'è un problema di sicurezza e le cartelle immagini devono essere rese inaccessibili si puo' procedere con il file .htaccess ... oppure se si è in grado di accedere direttamente al server si possono usare cartelle locali inaccessibili via web
Chiaramente puo' a questo punto essere necessario salvare i nomi dei file su database
A questo punto tramite php è possibile in ogni momento accedere al singolo file e passarlo all'utente (che magari ha i giusti permessi, tipo è correttamente loggato al sito) anche senza spostare il file, ma predisponendo un corretto stream (vedi header)
credo puoi controllare qui questa particolare tecnica http://php.net/manual/it/function.readfile.php
0
voti
Non male. Non l'ho mai provato. Ma se l'immagine ha diversi formati o compressioni? Usi un lib?
Più so e più mi accorgo di non sapere.
Qualsiasi cosa abbia scritto, tieni presente che sono ancora al mio primo rocchetto di stagno.
Qualsiasi cosa abbia scritto, tieni presente che sono ancora al mio primo rocchetto di stagno.
12 messaggi
• Pagina 1 di 2 • 1, 2
Chi c’è in linea
Visitano il forum: Nessuno e 11 ospiti

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)

