Avatar ·

Como obter a extensão de um arquivo em PHP? (guia detalhado)

Olá a todos! Sou novo em PHP e não consigo entender uma tarefa aparentemente simples: como obter corretamente a extensão do arquivo a partir do seu nome? Tenho uma variável contendo o caminho do arquivo, por exemplo: ```php $filename = "images/myphoto.jpg"; ``` Preciso extrair apenas a extensão — neste caso "jpg". Tentei várias maneiras, mas todas funcionam incorretamente em diferentes situações. Por exemplo, usei explode: ```php $parts = explode('.', $filename); $ext = end($parts); ``` Mas se o nome do arquivo tiver vários pontos, como "my.file.name.jpg", esse método retornará "jpg". Isso até funciona, mas existe um método mais confiável? E se o arquivo não tiver extensão alguma? Ou se for um arquivo de sistema como ".htaccess"? Ou se o caminho contiver pastas com pontos, como "/var/www/site.com/uploads/archive.tar.gz"? Pesquisei no Google e encontrei a função pathinfo(), mas não entendi completamente como usá-la corretamente. Ela retorna um array, e há um elemento 'extension'.