Maison  >  Article  >  développement back-end  >  Comment détecter le type d’image à partir d’une chaîne Base64 en PHP ?

Comment détecter le type d’image à partir d’une chaîne Base64 en PHP ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-24 04:38:02762parcourir

How to Detect Image Type from Base64 String in PHP?

Détection du type d'image basée sur une chaîne PHP

Identifier le type d'une image codée sous forme de chaîne base64 peut être un défi en PHP. Les méthodes traditionnelles de détection d’images qui reposent sur l’accès aux fichiers ne sont pas applicables dans ce scénario. Cependant, il existe une solution fiable utilisant FileInfo :

Le rôle de FileInfo dans la détection du type d'image

FileInfo fournit un moyen élégant de déterminer le type MIME d'une image à partir de sa base64 -représentation codée. En utilisant finfo_buffer(), vous pouvez décoder la chaîne base64 dans un tampon d'image, puis la transmettre à FileInfo pour analyse. L'indicateur FILEINFO_MIME_TYPE spécifie que vous souhaitez récupérer le type MIME, qui correspond généralement au format de l'image.

Étapes de mise en œuvre

Pour utiliser FileInfo pour la détection du type d'image :

  1. Commencez par décoder la chaîne base64 dans un tampon d'image.
  2. Ouvrez un objet FileInfo et spécifiez l'indicateur FILEINFO_MIME_TYPE.
  3. Passez le tampon d'image à FileInfo via le finfo_buffer ().
  4. La variable $mime_type résultante contiendra le type MIME, qui peut être utilisé pour déterminer le format de l'image.

Exemple d'utilisation

<code class="php">$encoded_string = "....";
$imgdata = base64_decode($encoded_string);

$f = finfo_open();

$mime_type = finfo_buffer($f, $imgdata, FILEINFO_MIME_TYPE);</code>

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