ho sempre usato substring per dividere l'estensione dal nome file, esempio:

$percorso = $directory.'/'.substr($files,0,strlen($files)-4);
$estensione = substr($files,strlen($files)-4);