Quel codice restituisce la porzione di stringa prima del primo punto...il che non risolve il problema dei nomi contenenti il punto:

Codice PHP:
$file "mio.file.mp3";
$nome_file array_shift(explode('.',$file));
print(
$nome_file); 
Questo restituisce "mio"...non credo sia giusto...