9
votes

Affichage d'une image créée avec imagecreatefromstring

Disons que j'ai le code qui ressemble à quelque chose comme: xxx

Que dois-je remplacer / * ce qui va ici? * / Ainsi, mes données d'image s'afficheront?

Merci.


0 commentaires

4 Réponses :


0
votes

Vous devez d'abord enregistrer la ressource à un fichier ou la sortie à l'aide de quelque chose comme imagepng () code> dans une demande séparée.

voir imagecreatefromstring () code> documentation pour plus d'informations. p>

Si vous souhaitez utiliser un Schéma URI de données , vous pouvez essayer cela à la place: P>

<?php

// If your image is binary data. use `base64_encode($imageData)`.
$imageData = 'iVBORw0KGgoAAAANSUhEUgAAABwAAAASCAMAAAB/2U7WAAAABl'
           . 'BMVEUAAAD///+l2Z/dAAAASUlEQVR4XqWQUQoAIAxC2/0vXZDr'
           . 'EX4IJTRkb7lobNUStXsB0jIXIAMSsQnWlsV+wULF4Avk9fLq2r'
           . '8a5HSE35Q3eO2XP1A1wQkZSgETvDtKdQAAAABJRU5ErkJggg==';

echo '<img src="data:image/png;base64,'. $imageData .'" />';


0 commentaires

0
votes

Je pense que vous pouvez faire quelque chose comme ça ... XXX


0 commentaires

2
votes
<?php

$img = imagecreatefromstring($string);

header('Content-type: image/jpeg');
imagejpeg($img);
should be all you need. Doing it with the image tag as you are, you'd need to output the image to a temporary file and point the image tag at that (which incurs a second HTTP request), or use a data url.

0 commentaires

13
votes

Qu'est-ce que je remplace / * Qu'est-ce qui va ici? * / avec de sorte que mes données d'image s'affichent?

L'emplacement que vous avez mis en surbrillance est le tel appelé src attribut du img html-tag docs . La valeur est une soi-disant URI docs .

Dans votre cas, vous souhaitez que URI indique les données d'image en question. Vous n'avez pas spécifié quel type d'image doit être émis, car je suppose que c'est une image PNG dans l'exemple suivant.

Vous devez maintenant convertir vos données d'image en URI. L'URI la plus directe à créer à partir des données d'image est une soi-disant Data: Uri wikipedia : xxx

Même c'est le moyen le plus simple, il n'est pas toujours recommandé Pour ce faire, car les données d'image seront renvoyées avec le HTML sur le navigateur. Si l'image est grande, cela est généralement considéré comme une surcharge.

au lieu d'utiliser les données Data: URI Vous pouvez également placer n'importe quelle autre URI dans votre présence également, par exemple un URI HTTP Cela indique un script PHP sur votre serveur qui renvoie l'image. Un tel script peut être très simple: xxx

Ceci est comparable à ce que Marc B a suggéré, voir sa réponse aussi bien .


2 commentaires

Merci! La tampon de sortie était ce que je devais faire; J'aimerais pouvoir vous donner un +5!


Je n'ai pas travaillé pour moi avant d'avoir ajouté un espace avant `alt =` ... aussi, peut-être pour des raisons OCD, j'ai ajouté des citations ajoutées autour des données d'image brute.