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 :

Position relative avec include


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 167
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 167
    Par défaut Position relative avec include
    Bonjour,

    Je développe un site web en php.

    à la racine de mon site, j'ai un dossier qui s'apelle "include". Là dedans je place tous mes modules qui sont inclus dans mes pages, qui sont à la racine.

    Certain de ces modules, on aussi une fonction inculde() qui va inclure un module se trouvant dans le meme doccier.

    Le problème que j'ai c'est que j'ai créé un nouceau dossier "teste" ou j'ai créé un page avec le meme canvas que les pages se trouvant à la racine.

    -index.php
    -page1.pgp
    -inculde/
    -include/module.inc.php
    -include/module2.inc.php
    -teste/teste.php
    dans ma page teste/teste.php j'ai changer e page des include ainsi
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    include('../include/module.inc.php);

    Le problème que j'ai c'est que le module2.inc.php ne peut pas etre trouvé depuis la page /teste/teste.php.
    En revanche il est trouvé depuis la page page1.php

    vous voyer mon problème?
    Evidemment je ne peux modifier le /include/module.inc.php sinon je problème sera déplace à la page1.php.

    Comment puis-je faire pour mes include(); soien trouvés quelque soit ou se trouve les pages dans l'arborescences?

    Merci

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Décris ton chemin en partant de la racine du site.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 167
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 167
    Par défaut
    C'est à dire, donner une adresse absolue?

    Il n'y a pas un truc du genre aussi (avec 1 point)
    [CODE=PHP
    include_once('./include/include_main.php');[/CODE](bon ca ne marche pas...)

  4. #4
    Membre Expert
    Avatar de Eric2a
    Homme Profil pro
    Technicien
    Inscrit en
    Septembre 2005
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 225
    Par défaut
    Salut,

    En utilisant
    1. la constante __FILE__ qui correspond au chemin complet et le nom du fichier courant.
    2. la fonction dirname() qui retourne le nom du dossier.

    Exemple dans le sous-répertoire include du répertoire actuel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $filename=dirname(__FILE__).DIRECTORY_SEPARATOR.'include'.DIRECTORY_SEPARATOR.'include_main.php';
    Exemple dans le sous-répertoire include du répertoire parent bin
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $filename=dirname(__FILE__).DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'bin'.DIRECTORY_SEPARATOR.'include'.DIRECTORY_SEPARATOR.'include_main.php';

    DIRECTORY_SEPARATOR represente le slash (anti-slash pour Windows).

    Fonctionne sur tous les hébergeurs.

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 448
    Par défaut
    Par expérience, commences ton application par fixer le dossier d'exécution, à partir de cette information, chdir ton script, et ensuite construis TOUS tes chemins d'accès lorsque tu en as besoins à partir de cette variable.

    Ne multiplies pas les appels à __FILE___ ect, ce sera plus compliqué à maj dans 6 mois.

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 167
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 167
    Par défaut
    ok je compreds plus au moins. Merci.

    mais le problème qui se pose, et je le constate maintenant, c'est que doit faire la meme chose pour:

    root/include/
    root/js/

    J'ai donc mis ceci dans un des fichier qui se trouv dans le repertoire /root/include/

    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    $filepath = dirname(__FILE__);

    Le probleme c'est que j'ai fait la meme chose pour un des fichier qui se trouve dans root/js/

    Ca ne marche pas et j'ai donc mis un echo comme ceci, dans le foichier qui se trouve de le dossier rot/js/

    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $filepath = dirname(__FILE__);

    Il me retourne la valeur de ce qui se trouve dans root/include/

    D'un côté ca me semble logique, mais alors comme puis-je appliquer cette solution dans une autre arborescence?

    (chais pas si j'ai tout compris)

Discussions similaires

  1. Mise en page CSS avec position relative
    Par hugo7 dans le forum Mise en page CSS
    Réponses: 13
    Dernier message: 13/08/2009, 12h54
  2. [DLL] PB avec Include (reformulation)
    Par Donut Man dans le forum MFC
    Réponses: 2
    Dernier message: 28/06/2005, 08h16
  3. [Débutant] position relative et absolue
    Par AurelBUD dans le forum Balisage (X)HTML et validation W3C
    Réponses: 9
    Dernier message: 23/06/2005, 08h46
  4. Quel niveau réel avec uv du Cnam en cour ?
    Par nebule dans le forum Etudes
    Réponses: 6
    Dernier message: 10/04/2005, 17h11
  5. position() relative au noeud courant
    Par luta dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 09/09/2004, 17h38

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