Maison >développement back-end >tutoriel php >Comment déterminer le type d'image à partir d'une chaîne Base64 en PHP ?
Déterminer le type d'image à partir d'une chaîne Base64 en PHP
Est-il possible de déterminer le type de fichier d'une image encodée sous forme de chaîne base64 en PHP ? Malheureusement, la seule possession de la chaîne codée présente un défi dans l'acquisition du type de fichier d'origine de l'image. Pour déchiffrer le type d’image, on peut utiliser la fonction imagecreatefromstring(), qui génère une ressource image. Cependant, cette ressource possède une représentation spécialisée en PHP, masquant le type d'image d'origine.
Heureusement, l'extension PHP FileInfo offre une solution. Cette extension fournit une méthode simple pour déterminer le type de fichier de données binaires, y compris les chaînes codées en base64. Voici comment cela fonctionne :
<code class="php">$encoded_string = "...."; $imgdata = base64_decode($encoded_string); $f = finfo_open(); $mime_type = finfo_buffer($f, $imgdata, FILEINFO_MIME_TYPE);</code>
Cet extrait de code décode la chaîne codée en base64, ouvre une ressource FileInfo et obtient le type de fichier à l'aide de la fonction finfo_buffer(). La variable $mime_type résultante contiendra le type de fichier, tel que « image/jpeg » ou « image/png ». Avec ces informations, vous pouvez déterminer le type de fichier d'origine sans avoir besoin de le connaître au préalable et enregistrer l'image sous le type de fichier approprié.
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!