Maison  >  Article  >  développement back-end  >  Comment déterminer le type de contenu d'image correct pour les en-têtes PHP ?

Comment déterminer le type de contenu d'image correct pour les en-têtes PHP ?

DDD
DDDoriginal
2024-10-18 06:32:02967parcourir

How to Determine the Correct Image Content Type for PHP Headers?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn