Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/02/2011, 13h29   #1
Candidat au titre de Membre du Club
 
Inscription : février 2009
Messages : 38
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 38
Points : 11
Points : 11
Par défaut explode au dernier slash

Bonjour à tous,

Je cherche à récupérer le nom de l'image après le dernier slash, le script ci-dessous marche bien :

Code :
1
2
3
4
$string = "http://xxxxxxxx.com/xxxxx/xxxx/catalog/images/pr_p/2/1/4/4/6/6/5/2144665a.jpg";
 
$val = explode('/', $string);
$val = $val[15];
L'exemple fonctionne lorsque on connaît le nombre de slash ( ici [15] ), comment faire fonctionner cette fonction ( ou peut être existe-t-il une autre ) sans faire une usine à gaz en calculant le nombre de slash qui prendrait en compte ce qui se trouve après le dernier slash ?

Merci encore de votre aide.
cmoi70 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/02/2011, 14h32   #2
Candidat au titre de Membre du Club
 
Inscription : février 2009
Messages : 38
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 38
Points : 11
Points : 11
Bon j'ai fini par faire :

Code :
1
2
3
4
$string = "http://xxxxxxxx.com/xxxxx/xxxx/catalog/images/pr_p/2/1/4/4/6/6/5/2144665a.jpg";
$count = count($string)-1;
$val = explode('/', $string);
$val = $val[$count];
cmoi70 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/02/2011, 15h46   #3
Modérateur
 
Avatar de ThomasR
 
Homme Thomas Rambaud
Développeur Web
Inscription : décembre 2007
Messages : 2 139
Détails du profil
Informations personnelles :
Nom : Homme Thomas Rambaud
Âge : 25
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : décembre 2007
Messages : 2 139
Points : 2 884
Points : 2 884
Bonjour,

Ton code n'est pas bon, il n'y a pas autant de caractères que d'occurences dans la tableau $val.

Voici le code correct en utilisant explode :

Code :
1
2
3
4
5
 
$string = "http://xxxxxxxx.com/xxxxx/xxxx/catalog/images/pr_p/2/1/4/4/6/6/5/2144665a.jpg";
$val = explode('/', $string);
$count = count($val);
$val = $val[$count - 1];
__________________
Développeur Web, accessoirement geek (ou l'inverse)
http://thomasrambaud.com
ThomasR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/02/2011, 16h12   #4
Membre émérite
 
Avatar de vorace
 
Homme
Développeur
Inscription : août 2010
Messages : 586
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Développeur

Informations forums :
Inscription : août 2010
Messages : 586
Points : 859
Points : 859
utilise pop_array()
Code :
$vald = pop_array($val);
__________________
Développeur informatique contrarié...
vorace est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 12/02/2011, 17h31   #5
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
dites pas n'importe quoi basename est la pour ça :

Code :
1
2
$string = "http://xxxxxxxx.com/xxxxx/xxxx/catalog/images/pr_p/2/1/4/4/6/6/5/2144665a.jpg";
echo basename($string);
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/02/2011, 19h30   #6
Membre Expert
 
Inscription : septembre 2010
Messages : 1 239
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 1 239
Points : 1 559
Points : 1 559
Citation:
Envoyé par vorace Voir le message
utilise pop_array()
Code :
$vald = pop_array($val);
Effectivement suite à l'explode array_pop serait le plus simple pour récupérer le dernier élément du tableau.

Mais bon comme dit stealth35, pour récupérer le nom d'un fichier dans une chaine, il y a une fonction dédiée.
__________________
- Réalisations
- Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical.
ABCIWEB est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/02/2011, 19h45   #7
Membre émérite
 
Avatar de vorace
 
Homme
Développeur
Inscription : août 2010
Messages : 586
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Développeur

Informations forums :
Inscription : août 2010
Messages : 586
Points : 859
Points : 859
Citation:
Envoyé par stealth35 Voir le message
dites pas n'importe quoi basename est la pour ça :

Code :
1
2
$string = "http://xxxxxxxx.com/xxxxx/xxxx/catalog/images/pr_p/2/1/4/4/6/6/5/2144665a.jpg";
echo basename($string);
du calme, on est juste là pour aider...pas pour se faire incendier !!!
__________________
Développeur informatique contrarié...
vorace est déconnecté   Envoyer un message privé Réponse avec citation 01
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h01.


 
 
 
 
Partenaires

Hébergement Web