Mysql
 sql >> Database >  >> RDS >> Mysql

Estrarre i dati dell'immagine BLOB da MySQL in PHP

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.