Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Recuperation d'une partie de l'adresse d'une page

5 réponses
Avatar
ND
Bonjour,

Mon soucis du jour est que je souhaiterais récupérer une partie de l'adresse
d'une page PHP. Je m'explique :

La page sur laquelle je suis s'appelle, par exemple,
http://www.monsite.com/dossier1/sousdossier1/mapage.php. Je souhaiterais
pouvoir récupérer "mapage" qui me servirait de variable pour une requête
mysql. Cependant, l'adresse pouvant être plus longue ou plus courte, je ne
sais vraiment pas comment m'y prendre.

Merci d'avance à tous ceux qui voudront bien m'apporter leur lumière !

ND

5 réponses

Avatar
PluX
Hello,

Dans le cas ou le nom que tu veux récupérer est le dernier nom au niveau
de ton arborescence, pas de souci.

Il faut utiliser la fonction basename sur la variable globale $SCRIPT_NAME
(je ne sais plus si la variable register_globals du fichier php.ini doit
obligatoirement être positionnée à On ou pas).

exemple:
// $SCRIPT_NAME vaut "/dossier1/sousdossier/mapage.php"
$sPagePHP = basename($SCRIPT_NAME);

// ici, $sPagePHP = "mapage.php"

// On vire le .php terminal, si present
$sPagePHP = preg_replace("/.phps*$/i", "", $sPagePHP);
// $sPagePHP = "mapage"

Tu peux aussi utiliser basename en passant un second paramêtre (suffixe)
qui indique la partie d'extension à virer.
Ex:
// $SCRIPT_NAME vaut "/dossier1/sousdossier/mapage.php"
$sPagePHP = basename($SCRIPT_NAME, ".php");
// $sPagePHP = "mapage"

Normalement, ça devrait fonctionner :)

Christophe

"ND" a écrit dans le message de news:
bn7rcn$8ju$
Bonjour,

Mon soucis du jour est que je souhaiterais récupérer une partie de
l'adresse

d'une page PHP. Je m'explique :

La page sur laquelle je suis s'appelle, par exemple,
http://www.monsite.com/dossier1/sousdossier1/mapage.php. Je souhaiterais
pouvoir récupérer "mapage" qui me servirait de variable pour une requête
mysql. Cependant, l'adresse pouvant être plus longue ou plus courte, je ne
sais vraiment pas comment m'y prendre.

Merci d'avance à tous ceux qui voudront bien m'apporter leur lumière !

ND


Avatar
CrazyCat
ND wrote:
La page sur laquelle je suis s'appelle, par exemple,
http://www.monsite.com/dossier1/sousdossier1/mapage.php. Je
souhaiterais pouvoir récupérer "mapage" qui me servirait de variable
pour une requête mysql. Cependant, l'adresse pouvant être plus longue
ou plus courte, je ne sais vraiment pas comment m'y prendre.


$my_url = getenv("SCRIPT_NAME"); // récupération de
"/dossier1/sousdossier1/mapage.php"
$begin = strrpos($my_url, "/"); // trouve la position du dernier "/"
$end = strrpos($my_url, ".php"); // trouve la position de ".php"
$script = substr($my_url, $begin, $end - $begin) .".php"; // extrait le nom
de ta page et y ajoute ".php"

--
CrazyCat from C-P-F.org

Avatar
Jedi121
"ND" a écrit le 24/10/2003 :
Bonjour,

Mon soucis du jour est que je souhaiterais récupérer une partie de l'adresse
d'une page PHP. Je m'explique :

La page sur laquelle je suis s'appelle, par exemple,
http://www.monsite.com/dossier1/sousdossier1/mapage.php. Je souhaiterais
pouvoir récupérer "mapage" qui me servirait de variable pour une requête
mysql. Cependant, l'adresse pouvant être plus longue ou plus courte, je ne
sais vraiment pas comment m'y prendre.


Lire la doc. (http://www.php.net/download-docs.php)

$nom = basename($_SERVER[PHP_SELF],".php");

et arrêter le cross-posting avec alt.fr.comp.lang.php

Avatar
Thibaut Allender
ND wrote:

La page sur laquelle je suis s'appelle, par exemple,
http://www.monsite.com/dossier1/sousdossier1/mapage.php. Je souhaiterais
pouvoir récupérer "mapage" qui me servirait de variable pour une requête
mysql. Cependant, l'adresse pouvant être plus longue ou plus courte, je ne
sais vraiment pas comment m'y prendre.

Merci d'avance à tous ceux qui voudront bien m'apporter leur lumière !


RTFM ;)
http://fr.php.net/manual/fr/reserved.variables.php#reserved.variables.server

et plus specialement :

'SCRIPT_NAME'
Contient le nom du script courant. Cela sert lorsque les pages doivent
s'appeler elles-mêmes.

a+

--
freelance + web design + php dev + digital photo
+ http://www.capsule.org

Avatar
Jeremie Bouillon
De "CrazyCat" , in
<bnb1rs$oo9$:

$end = strrpos($my_url, ".php"); // trouve la position de ".php"


Et si c'est www.monsite.tld/truc/un.php.pageen.php ?

Ca va coincer. Il vaut mieux prendre tout ce qu'il y a après le dernier /
, sauf si cette valeur est null auquel cas on prend celui d'avant.


--
"Never forget: 2 + 2 = 5 for extremely large values of 2"