Eseguire codice php contenuto in una variabile e salvarne il risultato in un'altra

marcomg

Utente Attivo
19 Nov 2011
204
0
16
PHP:
$codice = "<b> questo è un codice di esempio e <?php echo('sto provando a fare qualcosa</b>'); ?>!!";
$output = funzioneCheNonConosco($codice);
In questo caso $output dovrebbe contenere "<b> questo è un codice di esempio e sto provando a fare qualcosa</b>!!". Esiste una funzione del genere?
 

flameseeker

Utente Attivo
27 Nov 2013
699
0
0
Non esiste una funzione già pronta per fare questo, potresti usare eval, ma non con la flessibilità dell'esempio che poni.

Di conseguenza ti ho scritto al volo una funzione che ti permette di ottenere il risultato che vuoi:
PHP:
function evalizer($code) {
    
    $filename = md5(microtime()) . '.php';
    file_put_contents($filename, $code);
    
    ob_start();
    include $filename;
    $output = ob_get_clean();
    unlink($filename);
    
    return $output;
}

Puoi usarla così:
PHP:
$codice = "<b> questo è un codice di esempio e <?php echo('sto provando a fare qualcosa</b>'); ?>!!";
$output = evalizer($codice);


Detto questo, ti suggerirei di fare attenzione all'utilizzo di questo genere di procedure perché permettono l'esecuzione arbitraria di codice esterno e possono quindi comportare gravi rischi alla sicurezza del software.
 

marcomg

Utente Attivo
19 Nov 2011
204
0
16
Allora la funzione la uso così:
PHP:
function evalizer($code) {
    ob_start();
    eval($code);
    $output = ob_get_clean();
    
    return $output;
}

Grazie :)
Per quanto riguarda i rischi della sicurezza del software non mi preoccupo perché non proviene lato utente ;)
 
Discussioni simili
Autore Titolo Forum Risposte Data
G Eseguire codice solo al termine della chiamata ajax Ajax 1
A eseguire codice js caricandolo dinamicamente in un DIV Javascript 2
A eseguire codice html da funzione javascript Javascript 2
N Eseguire codice javascript HTML e CSS 1
GENZIANA Codice per eseguire il download di un cartella zippata HTML e CSS 14
peppoweb Acrobat Reader può eseguire codice arbitrario Sicurezza e Virus 0
felino [Joomla 1.5] Backend senza toolbar, impossibile eseguire qualunque operazione Joomla 1
G eseguire calcoli matematici su risultati 2 tabelle mysql PHP 4
antoniomanuel Eseguire più files audio in sequenza Sviluppo app per Android 0
maxnegri Eseguire un'azione con php ad ogni condivisione su Facebook PHP 0
C Eseguire .sh da php PHP 6
W [Javascript] Eseguire script residente nel sistema da html remota Javascript 0
W Aiutino per compilare o eseguire un App Java Java 0
W [C#] Eseguire contemporaneamente tutti i Thresad su "Multithread" .NET Framework 0
G [Javascript] eseguire test-case Selenium da riga di comando... Javascript 0
P [Javascript] eseguire una funzione dopo un'altra Javascript 0
S [PHP] Eseguire differenza su dati SQL presenti sulla stessa colonna PHP 1
N eseguire pagina php senza aggiornare la pagina Ajax 3
S Eseguire funzione jquery all'interno della risposta ajax Ajax 0
A eseguire funzione dopo scelta dal form PHP 4
L eseguire programmi in c PHP 0
gandalf1959 Chiedere conferma all'utente prima di eseguire una funzione PHP 5
JackIlPazzo Eseguire funzione php senza ricaricare pagina? PHP 3
T [JavaScript & Ajax] Eseguire script dopo chiamata A Ajax 2
felino [Oracle] Eseguire uno split di un record Oracle 1
felino Funzione get_node(): eseguire un replace WordPress 1
J Eseguire un redirect a sito mobile PHP 0
N Eseguire una query MySQL dopo 10 secondi PHP 0
G Dividere stringa ed eseguire query PHP 3
F Eseguire PHP in jQuery jQuery 3
ivarello eseguire exec() lato Client PHP 1
X Eseguire controllo su variabili php PHP 1
M eseguire un comando da php PHP 2
1 eseguire operazioni pianificate PHP 3
Z Eseguire una Query tramite linguaggi client-side è possibile? Ajax 3
M Ajax: eseguire chiamate cross-domain Ajax 1
S Eseguire controlli sul form delle foto PHP 17
I Eseguire funz. Javascript caricata tramite la funzione Ajax di JQuery in onChange Javascript 0
I Eseguire funz. Javascript caricata tramite la funzione Ajax di JQuery in onChange Javascript 0
G eseguire un ciclo for next su applicazione di un sito web Javascript 1
S [Vb.net] Eseguire un programma richiamando l'explorer di windows o il comando esegui .NET Framework 1
C Eseguire script ajax nella stessa pagina index.php Ajax 2
S [Vb.net] Eseguire un exe contenuto nel file di risorse .NET Framework 1
G eseguire gedit con shell_exec() PHP 3
neo996sps Eseguire script perl da pagina PHP PHP 3
I Eseguire foreach una volta PHP 4
I Eseguire query con ciclo PHP 2
I Eseguire query in funzione PHP 2
X eseguire due query aiuto PHP 1
R Eseguire variabile da pulsante PHP 0

Discussioni simili