Vejam como é simples obter a extensão de um arquivo em PHP. Se você já sabe o nome do arquivo:
$arquivo = 'foto.jpg';
$extensao = pathinfo($arquivo, PATHINFO_EXTENSION);
Caso o arquivo tenha sido gerado por POST em um formulário e você não saiba o nome dele:
$path = $_FILES['imagem']['name'];
$extensao = pathinfo($path, PATHINFO_EXTENSION);
No exemplo acima, "imagem" é o nome dado ao campo <input type="file"> do seu formulário, exemplo:
<input type="file" name="imagem" accept="image/x-png,image/gif,image/jpeg">
Outras dicas de PHP
Apagando variáveis de sessão
array_reverse - Invertendo um vetor
array_search - Procurando um item em um array
Capturando a extensão de um arquivo
Capturando dados de um checkbox
Casts - Convertendo tipos de dados
ceil - Arredondando números reais para cima
checkdate - Validando datas no código PHP
Como desabilitar checkbox
Como desabilitar um radiobutton
Como permitir somente o upload de imagens
Como remover espaços em branco de uma string
Como validar o upload de um arquivo via POST
Convertendo caracteres com acento para maiúsculo com mb_strtoupper
Corrigindo a formatação da página para exibir acentos
Corrigindo o erro 'invalid byte sequence for encoding' ao acessar o Postgres
Criando e lendo um cookie em PHP
Criando variáveis de sessão
Date - Exibindo horário em formato hh:mm:ss
define - Criando constantes
Desabilitando as mensagens de Deprecated Functions
empty - Verificando se variável está vazia
Entendendo as diferenças entre os comandos include e require
Entendendo as diferenças entre os comandos include_once e require_once
Exibindo uma imagem após o post
floor - Arredondando números reais para baixo
gettype - Obtendo o tipo de dado de uma variável
Impedindo SQL Injection
Imprimindo Arrays
join - Convertendo um array em string
max - Encontrando o maior elemento de um vetor
min - Encontrando o menor elemento de um vetor
mt_rand - Gerando números randômicos
number_format - Formatando números
Operador ternário
Passando caracteres especiais por GET
Passando dados por QueryString
Permitindo o upload somente de arquivos PDF e do Word
Redirecionando para outras páginas
Removendo acentos em PHP
Removendo cookies em PHP
Retornando para a página anterior
Round - Arredondando números float
Rsort - Ordenando os itens de um vetor em ordem alfabética decrescente
session_write_close - gravando dados e fechando a sessão
shuffle - Embaralhando elementos de um array
Sizeof - Contando os elementos de um vetor
Sort - Ordenando os itens de um vetor
strtolower - Deixando todos os caracteres em minúsculo
strtoupper - Deixando todos os caracteres em maiúsculo
str_replace - Substituindo caracteres em uma string
Trabalhando com datas em PHP
ucfirst - Deixando o primeiro caractere sempre maiúsculo
ucwords - Deixando o primeiro caractere de cada palavra maiúsculo
unset - Excluindo variáveis
unset - Removendo elementos de um array
var_dump - Analisando as variáveis
Você Sabia?
Mouse
O mouse foi criado em 9 de dezembro de 1968, por um americano chamado Douglas Engelbart, que o batizou de "XY Position Indicator for a Display System". Conheça a história do mouse clicando aqui.
Nintendo Wii
Nos primeiros oito dias após o lançamento do console Nintendo Wii foram vendidas 600 mil unidades. Isso equivale a quase um por segundo e estes incríveis números são referentes às vendas apenas nos EUA!
Asteroids
O título Asteroids, do Atari, possui recorde de pontuação há 30 anos. Em 1982 um americano chamado Scott Safran atingiu a marca de 41.336.440. Atualmente ele faz parte de um minúsculo grupo de jogadores que conseguiram manter seus recordes por mais de 30 anos.
Galaxy Game
As primeiras máquinas de fliperama do mundo a utilizarem moedas, chamadas de Galaxy Game, custavam mais de 20 mil dólares para serem produzidas. Saiba mais sobre elas aqui.
Ultima Online
Criar um jogo é muito mais complexo do que parece. São milhares, às vezes, milhões de linhas de código. Isso não é exagero! Apenas o jogo Ultima Online possui 6.006.313 linhas de programação, totalizando 25.103.295 palavras