IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Include dans une arborescence


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2016
    Messages : 8
    Points : 8
    Points
    8
    Par défaut Include dans une arborescence
    Bonjour à tous,

    Je vous fais un schéma de mon arborescence simplifié avant de vous présenter mon problème

    -index.php
    ---Admin/
    -----index.php
    ---includes/
    ----navbar.php
    ---images/
    -----logo.png

    Le problème, j'ai une navbar avec un logo.png, j'aimerais que l'image s'affiche quand j'includes ma navbar dans l'index de l'admin et celui de la racine.

    J'ai essayé une solution qui marche mais qui n'est pas très transportable.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    function getRoot()
    {
        $folder = "/project/";
        return "http://".$_SERVER['HTTP_HOST'].$folder;
    }
    Mais j'aimerais une version plus transportable dans la nécessité où je change de répertoire ou que mon arborescence s'agrandi. Biensûr le problème de concerne pas que le logo mais aussi les liens vers les autres pages.

    J'ai déjà regarder les variables magiques dans le manual php mais le problème c'est qu'il ne me faut pas
    C:\wamp\www\project\includes
    mais
    C:\wamp\www\project\

    Je suis donc bloqué et je ne comprends pas comment avoir des includes propres pour toute l'arborescence.

    Merci pour votre aide.
    Damien Claeyman

  2. #2
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    tes images sont regroupées dans un seul et même répertoire (/img par exemple). Afin de ne pas tenir compte des chemins alambiqués, tu peux très bien utiliser des liens relatifs dans ton rendu (code html).
    Pour cela, tu définis dans le header un tag <base> et ensuite dans ton code html, tu mets partout où t'as un lien : src="/img/logo.png" ou href="/mapage.php"

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2016
    Messages : 8
    Points : 8
    Points
    8
    Par défaut
    Merci pour ta réponse mais il n'y aurai pas une méthode en php plus "automatique"?

  4. #4
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Ben après y a les espaces de nom, regarde ici
    Je n'ai pas trop cerné ta problématique, tu as des problèmes pour inclure les fichiers php entre eux ou pour gérer le rendu des ressources sur ton site ?

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    1- la solution simple est de définir une CONSTANTE pour le chemin vers la racine :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if( !defined('PATH_ROOT')) define('PATH_ROOT',	'............../');
    Ensuite :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <script src="<?php echo PATH_ROOT; ?>js/mon-script.js"  />
     
    <link type="text/css" rel="stylesheet" href="<?php echo PATH_ROOT; ?>css/styles.css" media="all" />
     
    <img src="<?php echo PATH_ROOT; ?>images/mon-image.png" alt="" />
    2- pour les includes : les constantes magiques fonctionnent très bien __DIR__, dirname(__DIR__),...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    include(__DIR__.'/....php'); // le fichier est dans le même dossier (QUE LE FICHIER DANS LEQUEL IL EST INCLUS)
     
    include(dirname(__DIR__).'/....php'); // on descend d'1 niveau dans l'arborescence
     
    include(dirname(dirname(__DIR__)).'/images/....php'); // on descend de 2 niveaux dans l'arborescence, avant de remonter dans le dossier "images"
     
    ...
    L'important à retenir, c'est qu'on se réfère toujours AU FICHIER DANS LEQUEL IL EST INCLUS.

    Avantage : peu importe que ce fichier soit lui-même inclus dans un autre, lui-même inclus dans un autre, lui-même inclus dans un autre, lui-même ....

Discussions similaires

  1. [PHP 5.0] Chemin relatif d'un 'include' dans une arborescence différente
    Par darkterreur dans le forum Langage
    Réponses: 13
    Dernier message: 18/05/2011, 11h01
  2. Récursivité dans une arborescence de dossiers...
    Par thony23 dans le forum Langage
    Réponses: 5
    Dernier message: 26/10/2005, 16h14
  3. Repérer un dossier dans une arborescence
    Par Feustine dans le forum Langage
    Réponses: 2
    Dernier message: 11/08/2005, 13h54
  4. Pb d'Ajout un noeud fils dans une arborescence
    Par oramine dans le forum Oracle
    Réponses: 5
    Dernier message: 21/12/2004, 15h39
  5. Suppression d'item dans une arborescence
    Par jonzuzu dans le forum MFC
    Réponses: 2
    Dernier message: 24/02/2004, 17h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo