Maison >développement back-end >tutoriel php >Pourquoi des caractères aléatoires apparaissent-ils lors de l'affichage d'images MySQL BLOB en PHP avec du texte supplémentaire ?
Problème d'affichage des images stockées dans un BLOB MySQL avec PHP
Lors de la tentative d'affichage d'une image stockée dans une base de données MySQL en tant que BLOB à l'aide du fichier fourni Code PHP, les utilisateurs peuvent rencontrer des problèmes si du texte supplémentaire est affiché avant ou après l'image. Au lieu de l'affichage de l'image, des caractères aléatoires apparaîtront.
Explication :
Selon la solution donnée, ce comportement se produit parce que le navigateur interprète mal le texte renvoyé avant ou après le données d'image dans le cadre de l'image elle-même. Cela entraîne une erreur et empêche la sortie prévue.
Solution :
Pour afficher correctement l'image et le texte supplémentaire, convertissez les données de l'image au format Base64 et intégrez-les. dans une balise HTML img :
<code class="php">echo '<img src="data:image/jpeg;base64,' . base64_encode( $row['imageContent'] ) . '" />'; echo 'Hello world.';</code>
Remarques supplémentaires :
Bien que cette approche résolve le problème d'affichage, il est important de noter que l'intégration d'images à l'aide d'URI de données a inconvénients :
Référez-vous à la documentation 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!