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
Libérer: 2024-10-21 06:20:29
original
615 Les gens l'ont consulté

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>
Copier après la connexion

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!

source:php
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal