首页 >后端开发 >php教程 >如何确定 PHP 标头的正确图像内容类型?

如何确定 PHP 标头的正确图像内容类型?

DDD
DDD原创
2024-10-18 06:32:021004浏览

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

确定 PHP 标头的图像内容类型

使用 Header() 函数显示来自 Web 根目录之外的图像时,用户可能会遇到困惑关于指定的内容类型:image/png。然而,尽管内容类型固定,但具有各种扩展名的图像(例如, JPG、GIF)仍然可以成功显示。

要解决这种差异,动态确定正确的扩展名至关重要基于文件扩展名的图像内容类型。以下代码片段提供了一个解决方案:

<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>

通过利用此方法,代码可以根据文件扩展名识别正确的内容类型并相应地设置标头。值得注意的是,JPG 文件的正确内容类型是 image/jpeg,应该使用它来代替之前令人困惑的 image/png。

以上是如何确定 PHP 标头的正确图像内容类型?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn