• User

    Lettura variabili da un file

    Ciao, ho un file di configurazione del sito fatto in questo modo:

    [php]
    <?php

    //descrizione variabile
    $variabile="contenuto";

    //descrizione, ad esempio nome sito
    $sitename="Nome sito";

    ?>
    [/php]Vorrei creare una funzione che, a seconda dell'argomento passatogli recuperi la variabile contenuta nel file. Se ad esempio richiamo la funzione siteinfo(sitename), dovrebbe stamparmi a schermo il valore della variabile $sitename contenuta nel file di configurazione.

    [php]
    function siteinfo($parametro){
    //includo il file di configurazione
    include("config.inc.php");
    //adesso il valore della variabile $parametro è "sitename"
    //come faccio a trasformare il valore della variabile in un nome della
    //variabile per stamparla a schermo con un comando echo??
    echo $valore_della_variabile_parametro;
    ////////////////////////////
    //se faccio come scritto di seguito non funziona.
    $info="$".$parametro;
    echo $info;
    }
    [/php]


  • User

    Ciao, ho risolto così:
    [php]
    function siteinfo($parametro=""){
    //includo il file di configurazione
    include("includes/config.inc.php");
    //switch tra i vari parametri
    switch($parametro){
    case "sitename":
    echo $sitename;
    break;
    case "description":
    echo $description;
    break;
    case "template_path";
    echo $template_path;
    break;
    default:
    echo "";
    break;
    }
    }
    [/php]


  • User Attivo

    Questa è una soluzione un po' più flessibile:

    [php]<?php
    function siteinfo($parametro){
    include("config.inc.php");
    if (isset($$parametro)) {
    echo $$parametro;
    }
    }
    ?> [/php]


  • User

    Io in una maniera un po' agreste ho risolto creando un file, dove peraltro tengo anche gli stili css, e assegnando le variabili ricorrenti (pezzi di tabelle, "sub~layout", ...).

    E poi ovviamente me li richiamo così:

    [php]
    <?php echo $VariabiliEsterne_nomesito; ?>
    [/php]Sarà agreste ma funziona...

    :ciauz: