Non saprei fino a che punto potrebbe tornarti utile il codice che hai scritto. Comunque, parlavi di "funzioncina", e dov'è?

I motivi poco convincenti sono, in primo luogo, che non controlli se si tratta di un file regolare, poi credo che sia sconveniente limitare l'estensione del file a tre caratteri soltanto. Potresti avere dei file con più o meno di tre caratteri come estensione e usare strlen(), come hai fatto, non è di aiuto.

Ti mostro una soluzione tra le tante, anzi tantissime, possibili:

Codice PHP:
function get_filename($file$ext 1)
{
  return !
is_file($f basename($fn =& $file))
  ? exit(
"File: $file non trovato.")
  : (
$ext $f basename($fnstrrchr($fn'.')));

in questo modo verifichi che il file sia regolare e puoi decidere se recuperane il nome completo di estensione, di qualsiasi lunghezza, oppure il solo nome. Utilizzandola così:

Codice PHP:
$file 'esempio.txt';

echo 
get_filename($file); //esempio.txt

echo get_filename($file0); //esempio 
[EDIT] ops. ciao nicola! scusami non avevo letto il tup post, comunque sì, il concetto è quello...