PHP: nombre de archivo sin extensión de archivo - mejor manera?

Estoy tratando de sacar el nombre de archivo de un directorio sin la extensión.

Estoy siguiendo mi camino con lo siguiente:

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;
}

... Pero eso no puede funcionar si la longitud de la cadena de extensión es más de 3. Miré a mi alrededor en los documentos de PHP sin éxito.

Respuestas a la pregunta(3)

Su respuesta a la pregunta