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

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

Barbara Streisand
Barbara Streisandoriginal
2024-10-23 23:52:30125parcourir

How to Determine Image Type from Encoded Base64 String in PHP?

Détermination du type d'image à partir d'une chaîne codée en Base64 en PHP

Différencier le type d'une image de sa représentation base64 pose un défi en PHP, étant donné que les méthodes traditionnelles telles que imagecreatefromstring() n'ont pas la capacité de déterminer de manière fiable le type d'image d'origine.

Solution utilisant FileInfo

Dans de tels scénarios, tirer parti de l'extension FileInfo s'avère inestimable. Cette extension permet la détection précise des types MIME, y compris ceux des images. Le code suivant démontre son utilisation :

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

$f = finfo_open();

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

En utilisant finfo_buffer, vous pouvez obtenir le type MIME des données d'image décodées, qui reflète avec précision le format d'image d'origine. Ce type MIME peut ensuite être utilisé pour déterminer le type d'image (par exemple, PNG, JPEG, GIF) et enregistrer l'image avec l'extension appropriée.

Maintenant, armé de ces connaissances, vous pouvez enregistrer votre image en toute confiance tout en en préservant son type d'origine, garantissant que le fichier enregistré reste fidèle au matériel source.

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