[PHP] chemin relatif / absolu

Résolu
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.
--
L'amour, c'est comme les spaghettis; quand c'est mou, c'est cuit. (proverbe belge)

10 réponses

  1. $_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
    1. 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.
      1. 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> ';
        

        1. 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.
          1. 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 ?
            1. pour pouvoir travailler en local sans chaque fois modifier les liens.
              cela fonctionne comment $_SERVER['PHP_SELF'] ?
              1. 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...
                1. ok merci beacoup. Je vais tester ce soir.
                  mais $_SERVER['PHP_SELF'] sert à quoi alors?