fonction explode pour recuperer juste une extension

Bonjour je vous explique mon problème

j'ai une valeur $champ qui contient une url typ http://monsite/repertoire/monfichier.mp3 ou alors http://monsite/repertoire/repertoire/re ... ichier.jpg

comment puis je faire en sorte avec un explode de toujours recuperer la derniere partie de la chaine ? pour n'avoir que le .mp3 ou .jpg dans une nouvelle valeur ?

j'ai bien trouvé si la chaine de caractère est toujours sur le même modele mais si elle est variable comment faire pour toujours choisir la derniere ?

merci de votre aide
 
loupile a dit:
Bonjour je vous explique mon problème

j'ai une valeur $champ qui contient une url typ http://monsite/repertoire/monfichier.mp3 ou alors http://monsite/repertoire/repertoire/re ... ichier.jpg

comment puis je faire en sorte avec un explode de toujours recuperer la derniere partie de la chaine ? pour n'avoir que le .mp3 ou .jpg dans une nouvelle valeur ?

j'ai bien trouvé si la chaine de caractère est toujours sur le même modele mais si elle est variable comment faire pour toujours choisir la derniere ?

merci de votre aide

Code:
$url  = "http://monsite/repertoire/monfichier.mp3";
$expl = explode(".", $url);
//$expl est un array
$last = sizeof($expl) - 1;

echo $expl[$last];
[/code]
 
Avec strrchr() le code est plus concis.
Code:
$url  = "http://www.example.com/music/legroupe.sonalbum.sontitre.mp3";
echo strrchr($url,".");
va afficher .mp3
 
c'est clair que c'est bien mais faut encore retirer le point ==> une ligne en plus

la fonction correcte serait pathinfo()

rog
 
les deux marchent bien mais voila j'ai mis cette fonction dans une boucle foreach et du coup ca me retourne le meme nombre de .MP3 que de resultat a traiter par la boucle . comment en faire pour que ca ne sorte qu'un resultat ?
 
Désolé, je me suis un peu emballé...
en fait ca marche super ... un grand merci a vous deux pour votre precieux coup de main !
j'ai encore quelques soucis sur ce type de sujet mais je voudrais pas abuser ...

encore merci
 
Code:
$expl = explode(".", "http://monsite/repertoire/monfichier.mp3");

echo $expl[sizeof($expl) - 1];

Post complètement inutile, c'est juste pour mettre le srcipt sur 2 lignes :P

Je :arrow:
 
rog> pathinfo n'est valable que pour un fichier sur le disque, non ?
sinon, strrchar doit être bien plus rapide qu'un explode, moins gourmand en mémoire... enfin bon, s'il n'y en a qu'un appel, c'est pas ça qui fera une grosse différence.
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut