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