Récupérer le nom de la page courante sans son extension

Soyez le premier à donner votre avis sur cette source.

Snippet vu 5 075 fois - Téléchargée 27 fois

Contenu du snippet

Je ne savais pas comment récuperer les premiers caractères d'une chaine jusk'à la premiere occurence d'un certain caractère.
en effet, je ne connaissais que la fonction strrchr qui prend elle les caractères de la chaîne qui SUIVENT le caractère donné en argument.
Donc je me suis dit qu'il fallait tout simplement inverser l'ordre des caractères grâce à strrev

->Dans un premier temps on inverse l'ordre des caractères
->Puis on retire tout apres le '.' ('.' non compris)
->On retire ce point disgracieux
->On réinverse l'ordre des caractères

ET !! Si vous désirez récupérer le nom de la page courante par exemple (c'est ce que je voulais faire) il semble qu'il faille également supprimer le premier caractère de $PHP_SELF qui n'est autre qu'un slash :/

Source / Exemple :


$nom_page_courante=substr(strrev(substr(strrchr(strrev($PHP_SELF),'.'),1)),1);

Conclusion :


Voila c'est tout simple et je ne serais pas etonné que certains y aient déja pensé :P
(sauf biensur s'il existe une fonction qui prend les PREMIERS caractères d'une chaîne et non les derniers :P)

Pourquoi j'ai fait ca? Pour changer une image dans mon header.inc qui variait en fonction de la page visitée. J'ai donc créé une image news.jpg, une about.jpg etc... et ainsi la bonne image sera affichée selon la page sur laquelle on se trouve. Grâce à ceci :
<IMG SRC="<? echo $nom_page_courante ?>.jpg">

tout simplement :)

A voir également

Ajouter un commentaire

Commentaires

Vapula
Messages postés
83
Date d'inscription
mardi 9 avril 2002
Statut
Membre
Dernière intervention
17 mai 2005
-
Salut,

J'avais deja fait un source d'une meme style (Scinde une url) qui recupere ce que l'on veut de l'url, mais il peut etre amélioré en utilisant les variables server mais bon bien joué :)

@+ et bon codage
Vapula
MisterJAD
Messages postés
86
Date d'inscription
jeudi 18 juillet 2002
Statut
Membre
Dernière intervention
26 avril 2005
-
bon aprés relectur de tes commentaires, mon truc sert pas a gd chose puiskil faut juste le nom de fichier et pas son extension...
par contre au lieu d'utiliser $_SERVER['PHP_SELF'] qui d'onne une url complete utilise $_SERVER['SCRIPT_NAME'] qui donne juste le nom du script comme ça taplu ka virer lextension et le poin.
MisterJAD
Messages postés
86
Date d'inscription
jeudi 18 juillet 2002
Statut
Membre
Dernière intervention
26 avril 2005
-
D'ailleurs $PHP_SELF ne marchera pas si register globals est off (sur toutes les versions récentes de php, donc sur pas mal de serveurs mnt) donc tu le remplace par ça
$_SERVER['PHP_SELF']
voilu
MisterJAD
Messages postés
86
Date d'inscription
jeudi 18 juillet 2002
Statut
Membre
Dernière intervention
26 avril 2005
-
euuh javais oublié ke ce forum aimait pas les antislash \ donc ce kya apré les echo de tablo, entre les " " c'est des antislash n pour un retour a la ligne ;)
MisterJAD
Messages postés
86
Date d'inscription
jeudi 18 juillet 2002
Statut
Membre
Dernière intervention
26 avril 2005
-
LOOL, tu t fait grave chier la (enfin c pas grand chose mais quand meme..)
tien regarde ce ke g fait hier (bon c vré ke g mis 1 jour et demi a trouver, mais je trouve ce truc assez sympa... sa s'appele pathinfo() et ça existe depuis php4.0.3

<?php

$path_parts = pathinfo("/www/htdocs/index.html");

echo $path_parts["dirname"] . "
";
echo $path_parts["basename"] . "
";
echo $path_parts["extension"] . "
";

?>

VA AFFICHER ::::
/www/htdocs
index.html
html


pas mal hein ?
tu va me dire, ouai mais on a pas le nom du script en cours ? eh ba si tu met ça dans pathinfo ça marche :
pathinfo($_SERVER['PATH_TRANSLATED'])

voila ;)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.