Puoi archiviare le immagini nel tuo database se lo desideri (anche se non c'è niente di sbagliato nel salvarle semplicemente come file, scegli quello che è appropriato nella tua situazione), ma archivia i dati binari grezzi in un BLOB (cioè non codificarlo con base64). Puoi incorporare i dati binari che ottieni da file_get_contents
direttamente nella tua query, a condizione che tu usi la funzione di escape appropriata (mysql_real_escape_string
nel tuo caso) prima.
Per quanto riguarda l'output dell'immagine, puoi farlo nel modo in cui lo stai facendo adesso, ma dovrai emetterlo con codifica base64 e con un data
Schema URI come questo:
echo '<img alt="embedded image" src="data:image/png;base64,' . chunk_split(base64_encode($get_pics2['img_location'])) . '">';
Si noti che ci sono alcuni vantaggi e svantaggi dei dati immagine incorporati. Alcuni importanti svantaggi di cui tenere conto sono il grave sovraccarico della codifica base64 (circa il 33% più grande dell'originale) e potenziali problemi di memorizzazione nella cache.