"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como determinar o tipo correto de conteúdo de imagem para cabeçalhos PHP?

Como determinar o tipo correto de conteúdo de imagem para cabeçalhos PHP?

Publicado em 2024-11-05
Navegar:706

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

Determinando o tipo de conteúdo de imagem para cabeçalho PHP

Ao exibir imagens de fora da raiz da web usando a função Header(), os usuários podem encontrar confusão em relação ao tipo de conteúdo especificado: image/png. No entanto, apesar do tipo de conteúdo fixo, imagens com várias extensões (por exemplo, JPG, GIF) ainda podem ser exibidas com sucesso.

Para resolver essa discrepância, é crucial determinar dinamicamente o correto tipo de conteúdo de imagem com base na extensão do arquivo. O trecho de código a seguir fornece uma solução:

$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);

Ao utilizar essa abordagem, o código pode identificar o tipo de conteúdo correto com base na extensão do arquivo e definir o cabeçalho de acordo. É importante notar que o tipo de conteúdo correto para arquivos JPG é image/jpeg, que deve ser usado em vez do anteriormente confuso image/png.

Declaração de lançamento Este artigo foi reimpresso em: 1729204217 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3