[PHP] chemin relatif / absolu

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

10 réponses

  1. toto
     
    $_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
    4
  2. toto
     
    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...
    3
  3. X-Fan Messages postés 811 Statut Membre 24
     
    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
  4. Chupachups23 Messages postés 74 Statut Membre 18
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. okuni Messages postés 1325 Statut Membre 126
     
    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
  7. toto
     
    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
  8. okuni Messages postés 1325 Statut Membre 126
     
    c'est vrai ^^

    encore merci :)
    1
  9. toto
     
    De rien
    En espérant t'avoir été utile.
    1
  10. okuni Messages postés 1325 Statut Membre 126
     
    pour pouvoir travailler en local sans chaque fois modifier les liens.
    cela fonctionne comment $_SERVER['PHP_SELF'] ?
    -1
  11. okuni Messages postés 1325 Statut Membre 126
     
    ok merci beacoup. Je vais tester ce soir.
    mais $_SERVER['PHP_SELF'] sert à quoi alors?
    -2