Version complète: sur le forum Webmaster Hub : Exécuter une variable
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
Xavir
Bonjour,

j'aimerai simplement exécuter du code php se trouvant dans une variable.

exemple :

CODE
$variable = "echo 'abc'; $win++;"

etc...

et là, l'exécuter


Alors G trouvé certains exemple (rares), mais aucun n'exécute vraiment comme il faudrait.

Je sait pas trop, une comande peut être ?

enfin, s'il faut formater la variable pour qu'elle soit compatible, pas de pb ! biggrin.gif



Merci
Hadrien
Peut-être que « create_function » te conviendra ?

CODE
$funcHello = create_function(
    '$strName', // Paramètres de la fonction
    'echo "Salut " . $strName . " :-)";' // Code
    );

$funcHello('Xavir');


http://www.php.net/manual/fr/function.create-function.php
Xavir
Oui, je pense que ça va aler biggrin.gif

Si y a d'autre amateurs.....
Xavir
Mais si cette variable est par exemple $rr = "if($a==1) .....";

comment faire poru l'exécuter, quand je met
CODE
<?
$funcHello = create_function('$strName', '$strName');

$funcHello('if($rr==1) die("error");');
?>


Il me retourne une erreur !

CODE
Parse error: syntax error, unexpected '}' in essai.php(2) : runtime-created function on line 1

Fatal error: Function name must be a string in essai.php on line 4
Remi
Tu as essayé eval() ?
Dan
Tout simplement eval() comme le dit Rémi
CODE
<?php
$win=1;
$variable = 'echo "abc"; $win++;';
eval("$variable");
print "<br>win is ".$win;
?>


Attention à ce que la variable contienne du code php valide, terminé par ; wink.gif

Dan
Xavir
Super, merci biggrin.gif
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.