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($fn, strrchr($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($file, 0); //esempio
[EDIT] ops. ciao nicola! scusami non avevo letto il tup post, comunque sì, il concetto è quello...