Probleme avec ECHO [Résolu]

Signaler
Messages postés
47
Date d'inscription
jeudi 20 avril 2006
Statut
Membre
Dernière intervention
3 mars 2015
-
Messages postés
47
Date d'inscription
jeudi 20 avril 2006
Statut
Membre
Dernière intervention
3 mars 2015
-
Bonjour,
J'ai une variable qui j'ai recuperé dedans un code php enregistré dans un fichier dll (pour des raisons de sécurité) ce fichier est code avec la fonction base64_decode() voici un exemple:
$file=fopen('file.dll','r+');
$b=fread ($file, filesize('file.dll'));
$contenu =  (base64_decode($b));

par exemple $contenu= "<hr> <? $var=1;
if ($var==1)
echo 'bonjour';
else echo 'bonsoir'; ?>"

Lorsque je veut genéré mon code je fait echo $contenu il m'affiche seulement une ligne (il tient compte que de code html "<hr>"et pas php).
Je veut l'orsque je fait echo $contenu il m'affiche une ligne puis bonjour.
Comment ça??
Merci d'avance.

3 réponses

Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
40
salut

tu peux peut-etre utiliser la fonction eval.

mais ton probleme de securite, a mon avais, tu le traites mal...
Messages postés
1980
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
24 septembre 2012
5
Salut,

je ne comprends pas ta question, tu peux être plus clair stp ?

Et ce que tu écris n'a pas de sens. Ecris plutôt

$contenu = '<hr>';

$var=1;
if ($var==1){
     $contenu .= 'bonjour';
}
else  $contenu .= 'bonsoir';

echo $contenu;

à+
Messages postés
47
Date d'inscription
jeudi 20 avril 2006
Statut
Membre
Dernière intervention
3 mars 2015

Saluut,
DSL pour le retard merci monsieur "coucou747" tu ma sauver la vie avec cette eval
j'ai trouvé ça comme solution:
$string  = '<hr> <?= $var=1; if($var==1) echo "bonjour";
else echo "bonsoir"; ?>';
 $string = preg_replace_callback("/(<\?=)(.*?)\?>/si",create_function('$string','ob_start();eval("$string[2];");$return = ob_get_contents();ob_end_clean();return $return;'),$string);     $stringpreg_replace_callback("/(<\?php|<\?)(.*?)\?>/si",create_function('$string','ob_start();eval("print $string[2];");$return ob_get_contents();ob_end_clean();return $return;'),$string);
    Merci boucoup.