• User

    php Mysql . visualizzazione di file .php in tabella

    Ciao a tutti, da tempo mi dibatto in cerca di una soluzione, spero che qualche anima buona mi possa aiutare.
    In sostanza utilizzo una tabella mysql in cui ho inserito anche un campo dati (blob - binary), con i rispettivi campi nome (varchar) e tipo (varchar).
    Ho caricato in tabella dei file .html che vengono regolarmente visualizzati nel file mostra.php, questo è il codice:

    PHP:
     <?php
    

    include("config.inc.php");
    // parametri del database
    @mysql_connect ($db_host, $db_user, $db_pass);
    mysql_select_db ($db_name)or die("errore nella selezione del database");

    $query = "SELECT * FROM $db_tab WHERE rif=800";

    $result = mysql_query ($query);

       while($row=mysql_fetch_array($result)) {
            echo 'riferimento: '.$row['rif'].' <br />';
    
               $nome = @MYSQL_RESULT($result,0,"nome");
               $data = @MYSQL_RESULT($result,0,"dati");
               $type = @MYSQL_RESULT($result,0,"tipo");
               echo    "$data<br />";
               echo    $nome;
    

    }
    ?>

    Dalla visualizzazione phpMyAdmin il tipo file riporta:text/html.
    Il problema si manifesta quando invece di un file .html carico in database un file .php, nel qual caso il contenuto del file non viene visualizzato e da phpMyAdmin il tipo file riporta: application/octet-stream.

    Come posso modificare il codice per poter visualizzare anche il contenuto?
    Qualcuno mi può dare un suggerimento?
    Grazie in anticipo


  • User Attivo

  • User

    ciao Pietro, grazie per il suggerimento ma non ho risolto granchè.
    Forse non ho chiarito bene il problema, non voglio visualizzare il codice php ma l'esito del file. Per fare un esempio concreto, se nel campo "dati" inserisco il file prova.html che ha il codice:

    [HTML]<html>
    <body>
    <h1>
    contenuto del file prova.html
    </h1>
    </body>
    </html>[/HTML]

    dalla tabella di estrazione dei dati che ho riportato su, il risultato che appare sul browser è:

    N° riferimento: 799**
    contenuto del file prova.html
    **nome del file: prova.html

    se invece in un altro record nello stesso campo dati inserisco il file prova.php che ha questo codice:

    <html>
    <body style="color:#990000">
    <?php
    echo ('contenuto del file prova.php');
    ?>
    </body>
    </html>
    

    il risultato dell'estrazione è :

    ** N° riferimento: 800

    nome del file: prova.php **

    La dicitura contenuta in echo non appare.

    In sostanza non mi interessa far vedere il codice scritto nel file php ma il risultato, l'effetto del file stesso. Spero di essere stato abbastanza chiaro.
    Grazie ancora per gli ulteriori suggerimenti.


  • User Attivo

    ok, ora ho capito.
    In effetti non avevo capito la richiesta
    Credo che questo faccia al caso tuo allora
    http://stackoverflow.com/questions/41406/how-do-i-execute-php-that-is-stored-in-a-mysql-database


  • User

    sto facendo vari esperimenti anche grazie ai suggerimenti ricevuti ma con risultati poco soddisfacenti.
    A questo punto, tenuto anche conto dei problemi di sicurezza conseguenti, ho deciso che per il momento mantengo la struttura attuale, anche se un po' laboriosa, e intanto ringrazio gli amici del forum, dove ho sempre trovato grande disponibilità e utilissime indicazioni.
    saluti a tutti