Avatar ·

Como obter a extensão de um arquivo em PHP? Métodos confiáveis e armadilhas

Olá a todos! Comecei a estudar PHP e estou escrevendo um pequeno script para upload de imagens no servidor. Preciso verificar a extensão do arquivo enviado para, por exemplo, permitir apenas JPG e PNG. Tentei usar a função `explode()` e pegar o último elemento do array, mas parece um gambiarra. Aqui está meu código: ```php $filename = 'myphoto.jpg'; $parts = explode('.', $filename); $extension = end($parts); echo $extension; // jpg ``` Mas o que acontece se o nome do arquivo contiver vários pontos, como `my.file.name.jpg`? Ou se o arquivo não tiver extensão? Ouvi dizer que existem funções especiais para isso. Por favor, me digam como obter a extensão do arquivo em PHP de forma correta e segura? Quais são as funções nativas e o que é melhor usar em diferentes situações? Desde já, obrigado pela ajuda! <<>>

Solução principal: função pathinfo()

A maneira mais correta e universal de obter a extensão de um arquivo em PHP é usar a função nativa pathinfo()