Vous pouvez stocker des images dans votre base de données si vous le souhaitez (bien qu'il n'y ait rien de mal à les stocker sous forme de fichiers non plus, choisissez ce qui est approprié dans votre situation), mais stockez les données binaires brutes dans un BLOB (c'est-à-dire ne les encodez pas avec base64). Vous pouvez intégrer les données binaires que vous obtenez de file_get_contents
directement dans votre requête, à condition d'utiliser la bonne fonction d'échappement (mysql_real_escape_string
dans votre cas) d'abord.
En ce qui concerne la sortie de l'image, vous pouvez le faire comme vous le faites actuellement, mais vous devrez le sortir encodé en base64 et avec un data
Schéma d'URI comme ceci :
echo '<img alt="embedded image" src="data:image/png;base64,' . chunk_split(base64_encode($get_pics2['img_location'])) . '">';
Notez qu'il existe certains avantages et inconvénients des données d'image intégrées. Certains inconvénients importants à prendre en compte sont la surcharge importante de l'encodage base64 (environ 33 % plus grand que l'original) et les problèmes de mise en cache potentiels.