PHP: nome do arquivo sem extensão de arquivo, melhor maneira?

Eu estou tentando puxar o nome do arquivo de um diretório sem a extensão.

Eu estou seguindo meu caminho com o seguinte:

foreach ($allowed_files as $filename) { 
  $link_filename = substr(basename($filename), 4, strrpos(basename($filename), '.'));
  $src_filename = substr($link_filename, 0, strrpos($link_filename) - 4);
  echo $src_filename;
}

... Mas isso não pode funcionar se o tamanho da string de extensão for maior que 3. Eu procurei os documentos do PHP sem sucesso.

questionAnswers(4)

yourAnswerToTheQuestion