Duplicate possible:
Comment extraire une extension de fichier en PHP?
J'ai une variable $filename="filename.ext"
ou $filename="filena.m.e.ext"
ou plus etc. Comment puis-je extraire l'extension (ici ext
) de la variable/chaîne? La variable peut changer ou peut avoir plus d'un point .. Dans ce cas, je veux obtenir la partie après le dernier point ..
voir le répondre :
$ext = pathinfo($filename, PATHINFO_EXTENSION);
vous pouvez définir une fonction comme celle-ci:
function get_file_extension($filename)
{
/*
* "." for extension should be available and not be the first character
* so position should not be false or 0.
*/
$lastDotPos = strrpos($fileName, '.');
if ( !$lastDotPos ) return false;
return substr($fileName, $lastDotPos+1);
}
ou vous pouvez utiliser le Spl_FileInfo object intégré à PHP
Vous pouvez utiliser l'interrogation de chemin d'accès.
$info = pathinfo($file);
où
$info['extension']
contient l'extension
Vous voulez utiliser une expression régulière:
preg_match('/\.([^\.]+)$/', $filename);
Vous pouvez le tester ici pour voir s’il vous donne le résultat que vous souhaitez, compte tenu de vos commentaires.
Il y a plusieurs façons de le faire, par exemple avec explode () ou avec un preg_match et autres.
Mais la façon dont je le fais est avec pathinfo :
$path_info = pathinfo($filename);
echo $path_info['extension'], "\n";
Vous pouvez exploser la chaîne en utilisant., Puis prendre le dernier élément du tableau:
$filename = "file.m.e.ext";
$filenameitems = explode(".", $filename);
echo $filenameitems[count($filenameitems) - 1]; // .ext
// or echo $filenameitem[-1];