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 :

mettre le contenu d'un fichier interprété dans une variable


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Octobre 2003
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Octobre 2003
    Messages : 69
    Points : 55
    Points
    55
    Par défaut mettre le contenu d'un fichier interprété dans une variable
    Bonjour,
    j'utilise une fonction inc_file() que voici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    function inc_file($file, $mode="include") {
        $file = VIEW.$file;
        ob_start();
        if($mode == "include") {
            include($file);
        }
        elseif ($mode == "require") {
            require($file);
        }
        else {
            ob_end_clean();
            return false;
        }
        $buffer = ob_get_contents();
        ob_end_clean();
     
        return $buffer;
    }
    Elle permet de mettre le contenu d'un fichier dans une variable en l'interprétant.
    Mais au moment de l'utiliser sur un fichier, ce fichier a parfois besoin d'une variable déclarer juste avant comme par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $css = css(THEME);
    $header = inc_file('header.php');
    le fichier header.php a besoin de la variable $css.
    Le problème est que je ne souhaite pas fournir d'autre arguments que le nom du fichier et une option include ou require à la fonction inc_file(). Je ne souhaite pas non plus déclaré $css dans le fichier header.php.

    Je suis ouvert à toute solution permettant de mettre le contenu d'un fichier interprété dans une variable.
    A part taper tous le code de inc_file a chaque fois, ce que j'aimerais autant que possible évité, je ne vois pas d'autre solution, et vous ?

    Merci d'avance

  2. #2
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 487
    Points : 5 134
    Points
    5 134
    Par défaut
    file_get_contents()

  3. #3
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Octobre 2003
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Octobre 2003
    Messages : 69
    Points : 55
    Points
    55
    Par défaut
    Citation Envoyé par blueice Voir le message
    file_get_contents()
    cela n'interprète pas le contenu, j'ai testé avec eval() et c'est pareil

    Dans header.php c'est un truc comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
     
    $page = <<<HTML
    ...
    ...
    {$css}
    ...
    ...
    HTML;
     
    echo $page;
    ?>

  4. #4
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Octobre 2003
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Octobre 2003
    Messages : 69
    Points : 55
    Points
    55
    Par défaut
    eval fonctionne mais il faut enlever <?php, ce que j'aimerais autant que possible éviter :s
    D'autres solutions peut-être ?

  5. #5
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Octobre 2003
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Octobre 2003
    Messages : 69
    Points : 55
    Points
    55
    Par défaut
    Trouvé !
    Il suffit de remplacer echo $page; par return $page; et d'utiliser la fonction include

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

Discussions similaires

  1. Mettre le contenu d'un fichier texte dans un div
    Par elekaj34 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 18/07/2011, 19h26
  2. Stocker le contenu d'un fichier.php dans une variable php?
    Par PouetteMan dans le forum Langage
    Réponses: 15
    Dernier message: 11/05/2011, 09h35
  3. Réponses: 1
    Dernier message: 03/04/2009, 18h23
  4. Récupérer le contenu d'un fichier texte dans une variable
    Par heureactuelle dans le forum MATLAB
    Réponses: 2
    Dernier message: 17/05/2008, 15h10
  5. Copier le contenu d'un fichier distant dans une variable en local
    Par arnaudperfect dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 16/08/2007, 20h34

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