Détection du type d'image à partir d'une chaîne Base64 en PHP
On peut rencontrer des scénarios dans lesquels l'accès au fichier image d'origine est limité, ne laissant qu'une base64 -représentation sous forme de chaîne codée. Déterminer le type d’image à partir d’une telle chaîne peut s’avérer difficile. Alors que la fonction imagecreatefromstring() crée une ressource image à partir d'une chaîne décodée, elle masque les informations de type d'image d'origine.
Solution : utiliser FileInfo
FileInfo offre une solution viable. à ce problème. En utilisant sa méthode finfo_buffer(), on peut récupérer le type MIME de l'image directement à partir de la chaîne décodée en base64. Cette méthode prend deux paramètres : un descripteur de fichier ouvert (obtenu à l'aide de finfo_open()) et les données d'image brutes.
Exemple de code :
<code class="php">// Encoded base64 string $encoded_string = "...."; // Decode the string $imgdata = base64_decode($encoded_string); // Open FileInfo handle $f = finfo_open(); // Determine MIME type $mime_type = finfo_buffer($f, $imgdata, FILEINFO_MIME_TYPE);</code>
Le $mime_type La variable contiendra désormais le type MIME de l'image, tel que « image/jpeg » ou « image/png ». Ces informations peuvent ensuite être utilisées pour déterminer l'extension de fichier appropriée pour enregistrer l'image.
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!