fonction explode pour recuperer juste une extension

Nouveau WRInaute
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
 
WRInaute passionné
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]
 
WRInaute accro
Avec strrchr() le code est plus concis.
Code:
$url  = "http://www.example.com/music/legroupe.sonalbum.sontitre.mp3";
echo strrchr($url,".");
va afficher .mp3
 
WRInaute passionné
c'est clair que c'est bien mais faut encore retirer le point ==> une ligne en plus

la fonction correcte serait pathinfo()

rog
 
Nouveau WRInaute
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 ?
 
Nouveau WRInaute
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
 
WRInaute passionné
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:
 
WRInaute impliqué
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.
 
Discussions similaires
Haut