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

Bibliothèques et frameworks PHP Discussion :

[Smarty] Contrôler la hiérarchie des fichiers


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre expérimenté
    Avatar de Jarodd
    Profil pro
    Inscrit en
    Août 2005
    Messages
    851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 851
    Points : 1 717
    Points
    1 717
    Par défaut [Smarty] Contrôler la hiérarchie des fichiers
    Bonjour à tous,

    Je poste dans PHP mais je ne sais pas si je fais bien...

    Voilà le problème : je suis en train de me familiariser avec Smarty. Tout fonctionne bien, sauf lorsqu'il y a un niveau dans l'arborescence de mon site. Petit schéma pour essayer de me faire bien comprendre :

    |_ racine du site
    |_ index.php
    |_ blabla.php
    |_ cache
    |_ config
    ____|__ setup.php (*)
    |_ libs (idem)
    |_ templates (idem)
    ____|__ index.tpl
    ____|__ blabla.tpl
    |_ templates_c (idem)
    |_ mon_dossier
    ____|__ mon_fichier.php


    * setup.php charge la librairie Smarty, définit les dossiers Smarty, et définit les classes

    Imaginons que setup.php soit inclus dans index.php (require('./configs/setup.php');). Tout fonctionne. Maintenant je fais pareil avec mon_fichier.php : require('./../configs/setup.php'); Là, pas moyen d'inclure setup.php.

    N'importe quel fichier présent dans un répertoire (qui n'est pas à la racine donc), ne peut pas inclure les fichiers de configuration. J'ai tout essayé, laisser le même chemin relatif, mettre un chemin absolu, jouer avec les ../ pour changer de répertoire,... Rien n'y fait. Je me sens un peu c** d'être bloqué depuis plusieurs jours sur une histoire d'arborescence. J'ai bien sûr la solution de mettre tous mes fichiers php à la racine, mais je préfère que tout soit bien classé sinon ca devient rapidement le foutoir

    J'espère que j'ai été assez clair, j'essayerai de donner plus d'infos si nécessaire. Pour le moment je dév uniquement en local donc rien n'est accessible.

    Merci d'avance pour votre aide.

    Jarodd

  2. #2
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut
    le problème quand tu fait un include, c'est que tout les paths sont relatifs à celui du fichier appelant

    pour régler ce problème, tu peux jouer avec

    ini_set("include_path", "../");

    en mettant le chemin qui t'arrange, et ainsi avoir la même config partout
    Globalement inoffensif
    Merci de respecter les règles du forum.
    Aucune question technique par MP !
    _______________________________________________________________________
    Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
    Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
    Tutoriaux HTML/CSS et PHP

  3. #3
    Membre expérimenté
    Avatar de Jarodd
    Profil pro
    Inscrit en
    Août 2005
    Messages
    851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 851
    Points : 1 717
    Points
    1 717
    Par défaut
    Merci pour ton aide.

    Mais sur Php.net, la définition précise que cela change une valeur de configuration. Je me demande donc où placer ce ini_set() ? J'ai essayé au début du fichier php qui posait problème, mais je n'ai pas réussi. En fait je ne comprend pas bien la valeur qu'il faut mettre : ../ correspond à la racine du site ? Cela fonctionne comme une constante ?

  4. #4
    Membre expérimenté
    Avatar de Jarodd
    Profil pro
    Inscrit en
    Août 2005
    Messages
    851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 851
    Points : 1 717
    Points
    1 717
    Par défaut
    Help je m'en sors pas...

  5. #5
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut
    en fait, l'idée est la suivante :

    depuis index.php, qui est à la racine de ton site, tu va ajouter ça avant ton require :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ini_set("include_path", "./");
    dans mon_fichier.php, qui est un niveau plus bas dans l'arbo, tu va ajouter ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ini_set("include_path", "../");
    il ne te reste plus qu'à faire to require suivant le path qu'il a depuis la racine, tout le monde devrait retrouver ses petits
    Globalement inoffensif
    Merci de respecter les règles du forum.
    Aucune question technique par MP !
    _______________________________________________________________________
    Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
    Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
    Tutoriaux HTML/CSS et PHP

Discussions similaires

  1. contrôler les données des champs d'un fichier
    Par pekre dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 20/07/2016, 11h26
  2. Importer des fichiers textes délimités
    Par Invité dans le forum Outils
    Réponses: 2
    Dernier message: 23/09/2002, 13h56
  3. Réponses: 3
    Dernier message: 25/07/2002, 10h42
  4. [langage] comment créer des fichiers ?
    Par Anonymous dans le forum Langage
    Réponses: 3
    Dernier message: 05/05/2002, 16h33
  5. Comparer des fichiers de données : Quel Langage ?
    Par Anonymous dans le forum Langages de programmation
    Réponses: 6
    Dernier message: 24/04/2002, 22h37

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