Bestimmen des Bildinhaltstyps für den PHP-Header
Bei der Anzeige von Bildern von außerhalb des Webstamms mithilfe der Header()-Funktion kann es bei Benutzern zu Verwirrung kommen bezüglich des angegebenen Inhaltstyps: image/png. Trotz des festen Inhaltstyps können jedoch Bilder mit verschiedenen Erweiterungen (z. B. JPG, GIF) weiterhin erfolgreich angezeigt werden.
Um diese Diskrepanz zu beheben, ist es entscheidend, die richtige dynamisch zu ermitteln Bildinhaltstyp basierend auf der Dateierweiterung. Das folgende Code-Snippet bietet eine Lösung:
<code class="php">$filename = basename($file); $file_extension = strtolower(substr(strrchr($filename,"."),1)); switch( $file_extension ) { case "gif": $ctype="image/gif"; break; case "png": $ctype="image/png"; break; case "jpeg": case "jpg": $ctype="image/jpeg"; break; case "svg": $ctype="image/svg+xml"; break; default: } header('Content-type: ' . $ctype);</code>
Durch die Verwendung dieses Ansatzes kann der Code den richtigen Inhaltstyp anhand der Dateierweiterung identifizieren und den Header entsprechend festlegen. Es ist erwähnenswert, dass der korrekte Inhaltstyp für JPG-Dateien image/jpeg ist, der anstelle des bisher verwirrenden image/png verwendet werden sollte.
Das obige ist der detaillierte Inhalt vonWie ermittelt man den richtigen Bildinhaltstyp für PHP-Header?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!