Signaler

[PHP] chemin relatif / absolu [Résolu/Fermé]

Posez votre question okuni 1224Messages postés jeudi 4 septembre 2008Date d'inscription 2 janvier 2014 Dernière intervention - Dernière réponse le 16 nov. 2008 à 17:45 par toto
Bonjour,

J'aimerais savoir s'il est possible de transformer un lien absolu en relatif.
par exemple pour mon menu, j'aimerais enlever le "http://www.blizer.net" et ne laisser que "../" si nécessaire.

pour le moment, j'utilise les liens absolu pour mon menu car il doit être accessible partout sur mon site.
est t'il possible de mettre par exemple :
<?php
echo '<a href="'.fonction php.'/dossier1/page1.php">Lien 1</a>


remplacer fonction php par un code qui me permettra donc d'aller sur la bonne page en étant n'importe où sur mon site.

merci.
Utile
+4
plus moins
$_SERVER['PHP_SELF'] :
Le nom du fichier du script en cours d'exécution, par rapport à la racine web. Par exemple, $_SERVER['PHP_SELF'] dans le script situé à l'adresse http://www.monsite.com/test.php/foo.bar sera /test.php/foo.bar . La constante __FILE__ contient le chemin complet ainsi que le nom du fichier (i.e. inclut) courant.

J'ai copié-collé ça depuis le manuel de référence du PHP. Faudrait aller y jeter un coup d'oeil de temps en temps, ça fait partie des choses fondamentales du PHP.
http://www.php.net/manual/fr/reserved.variables.server.php
Cette réponse vous a-t-elle aidé ?  
Utile
+3
plus moins
pour pouvoir travailler en local sans chaque fois modifier les liens.
Pour ça, tu as _SERVER["HTTP_HOST"] qui te donne la racine de ton site. Tu n'as plus qu'à faire
'http://' . _SERVER["HTTP_HOST"]. '/home.php?page=accueil'
etc...
Utile
+1
plus moins
Le but du php étant de permettre les trucs dynamique je dirais: oui c'est possible. Le hic c'est que je pige rien à ton explication alors dur dur de t'aider.

Peux-tu retenter l'explication (et s'il faut, met les chemins complets des fichiers pour illustrer ton problème) et on verra.
Utile
+1
plus moins
Tu peu mettre des variables dans un lien oui , après ton histoire d'aller sur n'importe quel page a partir d'une autre ,tu peu mettre toutes pages dans un même dossier...

 echo '<a href="index.php?page='.$tavariable.'">' . $tavariable . '</a> ';

Utile
+1
plus moins
ok je vais donner un exemple concret
non Chupachups23, ce n'est pas ce que je veux dire.

j'ai mon menu :
<li><a href="http://www.blizer.net/home.php?page=accueil">Accueil</a></li>
<li><a href="http://www.blizer.net/series/index.php?page=serie">Les séries</a></li>
<li><a href="http://www.blizer.net/chat/index.php?page=chat">Shoutbox</a></li>
<li><a href="http://www.blizer.net/livre/index.php?page=livre">Livre d\'or</a></li>

vu que le menu est accessible partout, je suis obligé de mettre un lien absolu.
ce que j'aimerais c'est enlever le "http://www.blizer.net".
Pour avoir un chamin relatif dynamique.
donc si je suis sur le root, mon menu sera :
<li><a href="home.php?page=accueil">Accueil</a></li>
<li><a href="series/index.php?page=serie">Les séries</a></li>
<li><a href="chat/index.php?page=chat">Shoutbox</a></li>
<li><a href="livre/index.php?page=livre">Livre d'or</a></li>

si je suis par exemple sur le livre d'or, le menu sera :
<li><a href="../home.php?page=accueil">Accueil</a></li>
<li><a href="../../series/index.php?page=serie">Les séries</a></li>
<li><a href="../chat/index.php?page=chat">Shoutbox</a></li>
<li><a href="../livre/index.php?page=livre">Livre d'or</a></li>


donc comment faire pour avoir un lien relatif dynamique?

J'espère que j'ai bien expmiqué maintenant.
Utile
+1
plus moins
Bonjour

C'est sûrement faisable en te basant sur $_SERVER['PHP_SELF']. Par contre l'intérêt m'échappe totalement. Par curiosité, pourquoi ne veux-tu pas de liens absolus ?
Utile
+1
plus moins
c'est vrai ^^

encore merci :)
Utile
+1
plus moins
De rien
En espérant t'avoir été utile.
Utile
-1
plus moins
pour pouvoir travailler en local sans chaque fois modifier les liens.
cela fonctionne comment $_SERVER['PHP_SELF'] ?
Utile
-2
plus moins
ok merci beacoup. Je vais tester ce soir.
mais $_SERVER['PHP_SELF'] sert à quoi alors?

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.

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

Vous n'êtes pas encore membre ?

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