Maison  >  Article  >  développement back-end  >  Comment éviter les problèmes d'affichage lors de la mise en écho de texte autour d'images stockées sous forme de BLOB dans MySQL ?

Comment éviter les problèmes d'affichage lors de la mise en écho de texte autour d'images stockées sous forme de BLOB dans MySQL ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-21 06:20:29532parcourir

How to Avoid Display Issues When Echoing Text Around Images Stored as BLOBs in MySQL?

Comprendre les problèmes d'affichage d'image avec MySQL BLOB

Lorsqu'ils tentent d'afficher une image stockée en tant que BLOB dans une base de données MySQL, les développeurs rencontrent souvent un problème où un texte faisait écho auparavant ou après que l'en-tête de l'image entraîne un affichage incorrect de l'image.

Cause du problème

Le problème survient car le navigateur Web interprète tout texte renvoyé en dehors du flux de données d'image comme faisant partie de l'image. Cela est dû au fait que les données d'en-tête et d'image doivent être fournies en continu et sans interruption.

Solution

Pour afficher d'autres éléments et l'image ensemble sans interruption, vous pouvez convertir les données d'image en base64 et intégrez-le dans un étiqueter. Cette approche vous permet d'inclure du texte et d'autres éléments dans la sortie HTML tout en affichant l'image.

Voici une version révisée du code :

<code class="php">echo '<img src="data:image/jpeg;base64,' . base64_encode( $row['imageContent'] ) . '" />';
echo 'Hello world.';</code>

Remarque : Bien que cette solution vous permette d'afficher à la fois l'image et d'autres textes, elle n'est pas idéale car elle ne peut pas être mise en cache et peut être lente sur les appareils mobiles. Pensez à consulter la documentation de Caniuse pour plus d'informations sur les URI de données.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn