Obtenir l'extention d'un fichier d'une url

  Information

2 méthodes différentes pour connaitre l’extension d'un fichier contenu dans une url et la placer dans une variable.

  code source classé dans  Fichiers-r?pertoires

 
 01    
 02    
 03    
 04    
 05    
 06    
 07    
 08    
 09    
 10    
 11    
 12    
 13    
 14    
 15    
 16    
 17    
 18    
 19    
 20    
 21    
 22    
 23    
 24    
 25    
 26    
 27    
 28    
 29    
 30    
 31    
 32    
 33    
 34    
 35    
 36    
 37    
 38    
 39    
 40    
 41    
 42    
 43    
 44    
                               
<?php
/*---------------------------------------------------------------*/
/*
    Titre : Obtenir l'extention d'un fichier d'une url                                                                    
                                                                                                                          
    URL   : https://phpsources.net/code_s.php?id=226
    Auteur           : Matt                                                                                               
    Date Ã©dition     : 18 F&eacute;v 2007                                                                                 
    Date mise Ã  jour : 13 Aout 2019                                                                                      
    Rapport de la maj:                                                                                                    
    - fonctionnement du code vérifié                                                                                
*/
/*---------------------------------------------------------------*/?>
    Pour commencer, vous pouvez utiliser la fonction parse_url pour connaitre le
  chemin

<?php
    $url       'https://exemple.fr/page.php';
    $partie_url parse_url($url);
?>

    1ere méthode:
    Dans cette exemple, $partie_url['path'] sera Ã©gal Ã Â  "/page.php".
    Après, vous devez utiliser une expression régulière pour extraire
 l'extension du fichier

<?php
    $extention preg_replace("#^.+\\.([^.]+)$#""\\1"$partie_url['path']);
    echo $extention;
    // Affiche
    // php
?>

    2eme méthode:
    vous pouvez utiliser 2 fonctions de chaine comme suit :

<?php
    $extention substr(strrchr($url"."), 1);
    echo $extention;
    // Affiche
    // php
?>

          Fonctions du code - Doc officielle PHP

   php.net   Description Versions PHP OUTIL
   echo Affiche une chaîne de caractères PHP 4, PHP 5, PHP 7, PHP 8
   parse_url Analyse une URL et retourne ses composants PHP 4, PHP 5, PHP 7, PHP 8
   preg_replace Rechercher et remplacer par expression rationnelle standard PHP 4, PHP 5, PHP 7, PHP 8
   strrchr Trouve la dernière occurrence d'un caractère dans une chaîne PHP 4, PHP 5, PHP 7, PHP 8
   substr Retourne un segment de chaîne PHP 4, PHP 5, PHP 7, PHP 8

   Dites merci aux auteurs pour leurs travail, ça ne coûte rien et ça fait toujours plaisir wink

[2]

  • avatar

    KOogar

    16 Jan 2008 à 11:07

    Oui, c'est encore une autre méthode.

    doc officielle:
    $path_parts = pathinfo('/www/htdocs/index.html');
    echo $path_parts['extension'], "\n";

    Mais si tu met un domaine de ce genre : mon_ndd.free.fr, la fonction retourne fr seulement et faudra bien en passer par un regex pour capture l'extention complete. pourquoi pas commencer maintenant a travailler avec des regex?

  • avatar

    Palleas

    16 Jan 2008 à 08:18

    Sinon tu peux ne pas réinventer la roue et utiliser pathinfo() :]

Présentation de PHP

PHP débutant et initié 50 Tutoriel

Présentation de MySQL