Bonjour,

Je travail actuellement sur un projet de manipulations d'images. Plutôt que de stocker les images sur mon FTP directement dans un dossier "images", je souhaiterais insérer les images à proprement parler, dans la base de données.

J'ai pour habitude d'avoir des tables media de la sorte :

-media{ #id_media,url_media ... )

Cependant, j'ai regarder un peu sur le net, et il m'est apparu qu'il était possible d'insérer mes images en format "texte" ...
A savoir transformer l'image avec base64 et insérer le résultat dans un champ de type "blob" ...

Que pensez vous de cette technique ? Est elle fiable ? Auriez vous des informations à me transmettre quant à l'utilisation de cette technique ?

Cordialement

4 réponses


coloo
Réponse acceptée

J'imagine un :

<img src="data:image/jpg;base64, <?: $img ; ?> " />

$img = /9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAZAAA/+4ADkFkb2JlAGTAAAAAAf/bAIQAAQEBAQEBAQEBAQEBAQE
BAQEBAQEBAQEBAQEBAQEBetc...

Bonjour,

D'après ce que j'ai lu (mais c'est pas tout neuf dans ma cervelle) :

  • ça demande moins de requete
  • impossible d'avoir un lien mort :)
  • premiere connexion ( plus rapide car pas de requete/dl)
  • le poids de l'image est doublé (il vaut mieux utiliser ce procédé pour de petite image)
  • Impossibilité de garder les images en cache

Bonne journée ^^', en espérant que je ne sois pas trop obsolète.

Merci Coloo tes informations m'aident beaucoup.
Cependant, comme tu parles des liens, j'ai toujours cette intrigue :
Comment écrire un lien d'une image provenant d'une base de donnée ?

<img src="<?= base64_decode($img);?>">

Le code de coloo fonctionne, la syntaxe est bonne déjà vu ça sur certains hébergeurs tu mets le src comme il l'a mis et ensuite tu récupères le code base 64 dans la bdd pas besoin de le décoder avec une fonction php, le navigateur comprendra ;) .
Je plussoie coloo pas de cache, à faire avec des images de petites tailles car en effet plus l'image pèse lourd plus le code en base64 sera important donc si le poids des caractères dépasse celui des images aucun intérêt.