Maison > développement back-end > tutoriel php > Comment pouvez-vous extraire la véritable extension de fichier d'un nom de fichier ?

Comment pouvez-vous extraire la véritable extension de fichier d'un nom de fichier ?

DDD
Libérer: 2024-11-02 03:22:02
original
561 Les gens l'ont consulté

How Can You Extract the True File Extension from a Filename?

Détermination de la véritable extension de fichier

De nombreux développeurs rencontrent le besoin d'extraire l'extension de fichier d'un nom de fichier. Bien qu'il soit courant d'utiliser des solutions qui analysent simplement la chaîne du nom de fichier et coupent tout ce qui suit un point (.), cette approche peut conduire à des résultats inexacts, surtout si le nom de fichier contient plusieurs extensions.

Par exemple, ce qui suit les scripts peuvent ne pas parvenir à supprimer correctement les extensions :

  • /.[^.] $/
  • substr($filename, 0, (strlen ($filename)) - (strlen (strrchr ($filename,'.'))))

Ces deux scripts s'appuient sur un délimiteur ('.') pour isoler l'extension. Cependant, si le nom de fichier inclut une chaîne telle que "This.is example of somestring", ils supprimeront uniquement le premier point et donneront "This" au lieu du résultat souhaité, "somestring".

Utilisation pathinfo() pour une suppression précise des extensions

Pour éviter de telles irrégularités, il est recommandé d'exploiter la fonction pathinfo() fournie par PHP. Cette fonction offre une méthode robuste pour obtenir diverses informations sur un chemin de fichier, y compris son nom de fichier et son extension.

Considérons l'exemple suivant :

$filename = pathinfo('filename.md.txt', PATHINFO_FILENAME); // returns 'filename.md'
Copier après la connexion

En spécifiant PATHINFO_FILENAME comme deuxième paramètre, pathinfo () isole la partie nom de fichier du chemin donné, y compris les éventuelles extensions. Comme démontré ci-dessus, si le nom de fichier contient plusieurs extensions, pathinfo() extraira correctement la vraie extension.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal