PHP: Obtendo a extensão de um arquivo
Exemplo de uma função em PHP para obter, somente, a extensão do arquivo.
No exemplo abaixo estou simulando um arquivo de foto com extensão .jpg.
1 2 3 4 5 6 7 8 9 10 11 | <?php // pega a extensão do arquivo function pegaExtensao($arquivo){ $ext = explode('.',$arquivo); $ext = array_reverse($ext); return ".".$ext[0]; } $extensao = pegaExtensao("fotos.jpg"); echo $extensao; ?> |
Explicando:
linha 4: A função explode quebra em pedaços uma string, bastando informar um separador; como queremos a extensão de um arquivo, o separador será o (.). O retorno dessa função é uma matriz de string.
linha 5: A função array_reverse é utilizado para retornar os dados em ordem inversa. Com isso o valor do $ext[0] passa a ser a extensão do arquivo.
linha 10: Imprime o resultado.
Falai, muito bom o script, mas…
só pra constar.
se o arquivo tiver um nome assim fotos.2011.jpg e você não usar o array_reverse, o script mostrará o nome do meio pois:
array[0] = fotos
array[1] = .2011
array[2] = .jpg
e quando se usa o array_reverse a extensão sempre ficará no início…
valeu….
Olá Junior.
Obrigado por complementar o post.
Abraços.