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

EDI, CMS, Outils, Scripts et API PHP Discussion :

[Configuration] Chemin d'accès avec un script


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 39
    Points : 20
    Points
    20
    Par défaut [Configuration] Chemin d'accès avec un script
    Bonjour à tous,

    Voilà j'ai un petit problème de chemin d'accès avec un script

    Ce script est contenu dans un dossier (modules/live_count/compteur-live.php)
    Ensuite j'appelle ce script par une fonction, dans un fichier fonctions.php contenu à la racine. Le problème c'est que sitôt que je me retrouve plus à la racine (par ex.: www.monsite.com/admin/) j'ai pein de failed open stream.

    Je comprend l'erreur, mais le problème c'est que je ne comprend pas comment modifier la fonction file

    la ligne qui me pose problème dans mon compteur-live.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $compteur_live = file("modules/live_count/compteur-live.txt");
    et ma fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function AffCountLive() { 
    $compteur_live = file("modules/live_count/compteur-live.txt");
    echo (count($compteur_live)/2)." ";
    if((count($compteur_live)/2) > 1) {
    echo "connectés";
    }
    else {
    echo "connecté";
    }
    }
    Merci d'avance pour votre aide

    A+

  2. #2
    Membre confirmé Avatar de yjuliet
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Août 2006
    Messages
    362
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 362
    Points : 460
    Points
    460
    Par défaut
    Le problème vient du fait que quand tu inclues un fichier dans un autre, le répertoire de base est celui dans lequel se trouve l'appelant.

    C'est à dire que quand tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $FILE_NAME = "./include/nom_du_fichier";
    include ($FILE_NAME);
    il se contente de lire le fichier et d'insérer (virtuellement) le code en question dans ton fichier actuel. Ce n'est pas comme si il déclenchait une autre requete avec sa variable d'environnement de répertoire courant spécifique.

    Donc si dans un fichier A tu inclues B qui lui-même inclue C, il faut que dans B, le chemin d'accès à C soit donné, soit en absolu (en général, c'est un choix pas mauvais si tu gères toi même le serveur car tu peux même, éventuellement, utiliser des répertoires qui ne sont pas accessibles par les clients web ex: "/etc/phpshared/config.inc.php"), soit en relatif par rapport à A qui te permet de récupérer. N'oublies pas que PHP utilise les chemins locaux sur ta machine et non les chemins définis par les répertoires virtuels du serveur web.
    Une solution, si tu veux absolument rester en relatif, c'est d'utiliser une variable de configuration pour le chemin des fichiers à include :

    dans A :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $INCLUDE_DIR = "../include/";
    dans B :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    include $INCLUDE_DIR.$FILE_NAME
    ceci te permet de te sortir de pas mal de situations.

    Bon courage

  3. #3
    Membre à l'essai
    Inscrit en
    Décembre 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 39
    Points : 20
    Points
    20
    Par défaut
    Salut yjuliet,

    Merci bcp pour toutes ces précisions, j'ai pas tout compris lol, mais une grande partie, je ne le savais pas

    Je vais regarder cela de plus près

    Encore une fois merci

    A+

  4. #4
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut

    pour palier a ton problème tu peux utiliser une constante contenant la racine physique de ton site et appeler ton ficher en fonction de cette constante ainsi d'où que tu l'appelles, le lien sera bon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    define ('MAIN_PATH', dirname(__FILE__).DIRECTORY_SEPARATOR); //racine physique du site
    ...
    function AffCountLive() { 
    $compteur_live = file(MAIN_PATH.'modules/live_count/compteur-live.txt');
    ...
    }
    bien sur si ton dossier module n'est pas à la racine web, tu dois indiquer le chemin .

  5. #5
    Membre à l'essai
    Inscrit en
    Décembre 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 39
    Points : 20
    Points
    20
    Par défaut
    Hello,

    Merci bcp pour toutes ces précisions, ca marche impecc !


    Bonne soirée

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

Discussions similaires

  1. chemin d'accès avec espace
    Par mrglobule dans le forum VBScript
    Réponses: 2
    Dernier message: 14/11/2011, 13h54
  2. crontab chemin d'accés avec -f
    Par chris0938 dans le forum Linux
    Réponses: 3
    Dernier message: 13/10/2010, 09h08
  3. Pb chemin d'accès avec Tomcat
    Par rigober dans le forum Tomcat et TomEE
    Réponses: 22
    Dernier message: 03/02/2009, 12h04
  4. Probleme de chemin d'acces avec batch
    Par kernerteam dans le forum Autres Logiciels
    Réponses: 4
    Dernier message: 28/04/2006, 16h45
  5. probleme de chemin d'acces avec aspSmartUpload
    Par julio_097 dans le forum ASP
    Réponses: 2
    Dernier message: 22/08/2005, 16h53

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