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 :

problème de chemin relatif


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 95
    Points : 52
    Points
    52
    Par défaut problème de chemin relatif
    Bonjour à tous,


    Je développe actuellement des script en php dans un CRM libre (vtiger pour ceux qui connaissent). Je dois créer des script qui permettent des réaliser les bilan comptable (CA du mois, restant a payer, etc...). J'ai déja réaliser ces scriptes qui fonctionnes tous. Cependant je les avais placé a la racine du logiciel. Je les ai déplacé dans un sous dossier cependant maintenant que je les ai mis dans ce dossier il ne fonctionne plus car car les require_once("") que j'utilise pour l'acces à la base de données require eux aussi d'autre page php mais le chemin relatif n'est plus le bon... J'espere que vous voyez mon problème et que vous aurez un solution a me proposer... Je vais continuer a chercher sur la toile mais pour l'instant je n'ai rien trouvé.

    Cordialement
    Pierre

  2. #2
    Membre émérite Avatar de SirDarken
    Profil pro
    Développeur Web
    Inscrit en
    Février 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Services de proximité

    Informations forums :
    Inscription : Février 2004
    Messages : 897
    Points : 2 276
    Points
    2 276
    Par défaut
    C'est trés mal expliqué, mais tente un require_once("../fichier.php');

    En faite quand tu veux te déplacer tu le faire de cette façon :

    ./ ou rien = à partir de ce point
    Exemple
    ./session.php vas charger session.php qui ce trouve à coté de du fichier qui require.
    ./config/config.php vas charger le fichier config du sous dossier config.

    ../ = remonte d'un repetoire.
    Exemple
    ../session.php vas charger session.php qui ce trouve dans le repertoire parent du fichier qui require la page.

    La racine du site n'est pas forcément la racine du fichier fait attention à cela.
    Si tu est sur ta page index.php, racine du fichier = racine site, parcontre si tu lance la page /news/news.php , racine du fichier = racine site/news, et donc de cette page si tu veux avoir un fichier à coté de ton index tu doti utiliser ../ pour remonter d'un niveau.

    Cdt

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 343
    Points : 392
    Points
    392
    Par défaut
    une possibilité c'est d'externaliser et de créer des alias dans un fichier de config, path.php par exemple, avec un DEFINE pour définir tes chemins par exemple. Tu as juste besoin d'un include de ce fichier et quand tu veux changer tes chemins tu met à jour uniquement ce fichier de DEFINE.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 95
    Points : 52
    Points
    52
    Par défaut
    Citation Envoyé par SirDarken Voir le message
    C'est trés mal expliqué, mais tente un require_once("../fichier.php');
    J'ai bien essayer cela cependant le probleme ne vient pas de mon require mais plutot de ceux qui sont dans les fichiers que je require... Et ceux la je ne peux pas les modifier sans koi l'application entiere ne marcherait plus...
    merci pour votre aide

  5. #5
    Membre émérite Avatar de SirDarken
    Profil pro
    Développeur Web
    Inscrit en
    Février 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Services de proximité

    Informations forums :
    Inscription : Février 2004
    Messages : 897
    Points : 2 276
    Points
    2 276
    Par défaut
    Dans ton fichier d'include tu peux utiliser ceci.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    if (file_exists("./connection/connection.php")){
    	include_once("./connection/connection.php");
    }
    if (file_exists("../connection/connection.php")){
    	include_once("../connection/connection.php");
    }
    En fonction de la ou tu te trouve ca vas tester si le fichier existe et le charger à ce moment là.
    Bon là c'est un exemple mais tu peux l'adapter.

  6. #6
    FoxLeRenard
    Invité(e)
    Par défaut
    Citation Envoyé par SirDarken Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if (file_exists("./connection/connection.php")){
    	include_once("./connection/connection.php");
    }
     else if (file_exists("../connection/connection.php")){
    	include_once("../connection/connection.php");
    }
    Salut, belle solution, même que je la protégerait un coup de pluspar un ELSE

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 95
    Points : 52
    Points
    52
    Par défaut
    ha j'avoue c'est une bonne solution.
    Merci à vous pour votre aide...
    Pierre

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 89
    Points : 108
    Points
    108
    Par défaut
    Salut,

    Ou autrement tu peut aussi définir une constante, par exemple pour accéder au répertoire racine contenant des fichiers à inclure, bin par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    define('_ROOT_BIN',$_SERVER['DOCUMENT_ROOT'].'/bin/');
    et tu fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    include_once(_ROOT_BIN.'class/UneClasse.php');
    par exemple

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de chemin relatif avec TOMCAT pour mes CSS et images
    Par hitokiri06 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 16/11/2010, 19h00
  2. Problème de chemin relatif/absolu
    Par lad86 dans le forum Entrée/Sortie
    Réponses: 6
    Dernier message: 25/06/2010, 12h07
  3. Problème de chemin relatif
    Par Pendary dans le forum C++Builder
    Réponses: 1
    Dernier message: 05/06/2007, 09h45
  4. [Picturebox] Problème de chemin relatif ?
    Par Invité dans le forum VB.NET
    Réponses: 2
    Dernier message: 08/04/2007, 14h48
  5. [JSP] Include, problème de chemin relatif
    Par dafly dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 15/04/2004, 14h11

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