Avatar ·

Comment obtenir l'extension d'un fichier en PHP ? Méthodes fiables et pièges à éviter

Bonjour à tous ! Je suis un développeur PHP débutant et j'ai rencontré une tâche apparemment simple : je dois obtenir l'extension d'un fichier à partir de son nom. J'ai une variable, par exemple, `$filename = "document.pdf"` ou `$path = "/var/www/uploads/image.jpg"`. Je dois extraire "pdf" ou "jpg". J'ai essayé la méthode la plus simple — explode avec le point : ```php $filename = "document.pdf"; $parts = explode('.', $filename); $ext = end($parts); echo $ext; // pdf ``` Mais des problèmes sont immédiatement apparus. Premièrement, que faire si le nom du fichier contient plusieurs points, par exemple, `my.file.name.txt` ? Mon code renverra "txt", ce qui semble correct, mais peut-être que ce n'est pas ce qu'il faut ? Deuxièmement, que faire s'il s'agit d'un chemin complet et non d'un simple nom ? Par exemple, `/home/user/file.tar.gz` — explode découpera tout par les slashes et les points, et le résultat pourrait être inattendu. Troisièmement, que faire avec les fichiers sans extension, comme `Makefile` ou `.htaccess` ? Mon code renverra "htaccess", mais ce n'est pas une extension au sens classique. J'ai entendu dire qu'il existe une fonction intégrée