Détermination du type de contenu d'image pour l'en-tête PHP
Lors de l'affichage d'images provenant de l'extérieur de la racine Web à l'aide de la fonction Header(), les utilisateurs peuvent rencontrer des confusions concernant le type de contenu spécifié : image/png. Cependant, malgré le type de contenu fixe, les images avec diverses extensions (par exemple JPG, GIF) peuvent toujours être affichées avec succès.
Pour résoudre cet écart, il est crucial de déterminer dynamiquement le type de contenu correct. type de contenu d’image basé sur l’extension de fichier. L'extrait de code suivant fournit une solution :
<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>
En utilisant cette approche, le code peut identifier le type de contenu correct en fonction de l'extension du fichier et définir l'en-tête en conséquence. Il convient de noter que le type de contenu correct pour les fichiers JPG est image/jpeg, qui doit être utilisé à la place de image/png, qui prêtait auparavant à confusion.
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!