Affichage d'images avec différents formats de fichiers à l'aide de PHP Header()
Pour afficher des images provenant de l'extérieur de la racine Web, la fonction header() de PHP est souvent employé. Cependant, il convient de noter que l'en-tête content-type: image/png est couramment utilisé, malgré le fait que les images peuvent avoir différents formats de fichier, tels que .jpg ou .gif.
Comprendre la raison pour un affichage d'image réussi
Même si l'en-tête spécifie image/png, plusieurs formats d'image sont affichés avec succès. En effet, les navigateurs Web sont équipés pour gérer différents formats d'image et peuvent interpréter le contenu du fichier et l'afficher de manière appropriée. Ainsi, même si l'en-tête ne correspond pas parfaitement au format de fichier réel, la capacité des navigateurs à restituer les images en fonction du contenu permet un affichage réussi.
Détermination du format de fichier et envoi des en-têtes appropriés
Pour garantir précision et flexibilité, il est conseillé d'identifier le format du fichier avant d'envoyer l'en-tête. Ceci peut être réalisé en examinant l'extension du fichier et en sélectionnant le type de contenu correct en fonction du format détecté :
<code class="php">$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; } header('Content-type: ' . $ctype);</code>
Cette approche garantit que l'en-tête de type de contenu correct est envoyé, ce qui conduit à un format plus robuste et compatible. mécanisme d'affichage d'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!