Maison > développement back-end > tutoriel php > Comment puis-je afficher des images binaires directement dans un seul script sans les enregistrer sur le disque ?

Comment puis-je afficher des images binaires directement dans un seul script sans les enregistrer sur le disque ?

Susan Sarandon
Libérer: 2024-11-08 04:55:02
original
1102 Les gens l'ont consulté

How can I display binary images directly in a single script without saving them to disk?

Afficher les images binaires dans un seul script

Problème :

Les images peuvent-elles être recréées et affichées directement à partir de données binaires dans le même scénario ? Cela implique de traiter les données avec GD ou des outils similaires avant de les afficher dans une balise d'image HTML. L'objectif est d'éviter de sauvegarder les images traitées sur le disque ou d'utiliser des scripts externes.

Solution :

Cela peut être réalisé en utilisant les URI de données dans l'attribut source de l'image. Le format de l'URI des données est :

data:[<MIME-type>][;charset="<encoding>"][;base64],<data>
Copier après la connexion

Cette fonction PHP crée un URI de données à partir d'un fichier :

function data_uri($file, $mime) 
{  
  $contents = file_get_contents($file);
  $base64   = base64_encode($contents); 
  return ('data:' . $mime . ';base64,' . $base64);
}
Copier après la connexion

Le code suivant affiche une image à l'aide d'un URI de données :

echo '<img src="' . data_uri('elephant.png', 'image/png') . '" alt="An elephant" />';
Copier après la connexion

Utilisation :

Pour afficher les données d'image binaires traitées, vous pouvez utiliser la fonction data_uri et afficher l'URI résultant comme source d'image comme ceci :

$imagedata1 = file_get_contents('assets/test.png');
$imagedata1 = process_using_gd_or_something($imagedata1);

echo '<img src="' . data_uri('data:image/png;base64,' . base64_encode($imagedata1)) . '" />';
Copier après la connexion

Ce code affichera l'image traitée directement à partir des données binaires sans utiliser de scripts externes ni de stockage sur disque.

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.cn
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