Erkennen des Bildtyps aus Base64-String in PHP
Man kann auf Szenarien stoßen, in denen der Zugriff auf die ursprüngliche Bilddatei eingeschränkt ist und nur ein Base64 übrig bleibt -codierte String-Darstellung. Die Bestimmung des Bildtyps anhand einer solchen Zeichenfolge kann sich als schwierig erweisen. Während die Funktion imagecreatefromstring() eine Bildressource aus einer dekodierten Zeichenfolge erstellt, verbirgt sie die ursprünglichen Bildtypinformationen.
Lösung: Verwendung von FileInfo
FileInfo bietet eine praktikable Lösung zu diesem Problem. Durch die Verwendung der Methode finfo_buffer() kann man den MIME-Typ des Bildes direkt aus der Base64-dekodierten Zeichenfolge abrufen. Diese Methode benötigt zwei Parameter: ein offenes Dateihandle (erhalten mit finfo_open()) und die Rohbilddaten.
Beispielcode:
<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>
Der $mime_type Die Variable enthält nun den MIME-Typ des Bildes, z. B. „image/jpeg“ oder „image/png“. Diese Informationen können dann verwendet werden, um die geeignete Dateierweiterung zum Speichern des Bildes zu ermitteln.
Das obige ist der detaillierte Inhalt vonWie extrahiere ich mit FileInfo den Bildtyp aus einer Base64-codierten Zeichenfolge in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!