PHP - dépouiller l'extension d'une chaîne de nom de fichier

Je veux tranche de l'extension d'un nom de fichier, et d'obtenir le nom de fichier (par ex. file.xml -> fichier, image.jpeg -> image, test.march.txt -> test.mars, etc.

J'ai donc écrit cette fonction

function strip_extension($filename) {
   $dotpos = strrpos($filename, ".");
   if ($dotpos === false) {
      $result = $filename;
   }
   else {
      $result = substr($filename,0,$dotpos);
   }
   return $result;
}

Qui retourne une chaîne vide.

Je ne vois pas ce que je fais mal?

source d'informationauteur boisvert