ホームページ  >  記事  >  バックエンド開発  >  PHP ヘッダーの正しい画像コンテンツ タイプを決定するにはどうすればよいですか?

PHP ヘッダーの正しい画像コンテンツ タイプを決定するにはどうすればよいですか?

DDD
DDDオリジナル
2024-10-18 06:32:02864ブラウズ

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

PHP ヘッダーの画像コンテンツ タイプの決定

Header() 関数を使用して Web ルートの外側から画像を表示すると、ユーザーが混乱に遭遇する可能性があります指定された Content-type: 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。