Comment extraire les détails de l’adresse d’un fichier en PHP ?


Récemment je cherchais à extraire l’extension d’un fichier en PHP. J’ai naturellement commencé à bidouiller des choses en utilisant des expressions régulières complexes.

Puis je me suis rendu compte qu’il y avait une solution beaucoup plus simple.

L’API de PHP comporte une méthode spécialement faite pour cela : pathinfo().

Ce n’est certainement pas une découverte pour certains d’entre vous, mais ca l’a été pour moi.

Cette méthode renvoi un tableau contenant les éléments suivants :

Array
(
    [dirname] => /var/path/to/files
    [basename] => myphoto.jpg
    [extension] => jpg
    [filename] => myphoto
)

A noter que le dernier élément (nom sans extension) n’est accessible que depuis la version 5.2.0 de PHP.

Ainsi, il suffit d’invoquer :

$pathinfo = pathinfo($chemindufichier);
$extension = $pathinfo['extension'];

pour obtenir l’extension souhaitée.

Simple, efficace et propre.

Crédits: electrictoolbox