File_get_contents ne parse pas le php

cs_Linuss Messages postés 176 Date d'inscription mardi 7 octobre 2003 Statut Membre Dernière intervention 9 mai 2008 - 27 mars 2006 à 22:18
cs_Linuss Messages postés 176 Date d'inscription mardi 7 octobre 2003 Statut Membre Dernière intervention 9 mai 2008 - 28 mars 2006 à 18:02
Bonjour à tous,

Alors voilà, je me suis remis au php après un temps d'arrêt, et du coup je tombe sur un os très vite :)
J'ai :
$read = file_get_contents($this->page);
dans une de mes classes, mais lorsque j'affiche $read, elle ne me parse pas le php :s
Du style, mon fichier qui est dans $this->page contient par exemple <?php echo "blabla" ?>, mais lorsque je veux afficher la variable qui lit le fichier, elle m'affiche <?php echo "blabla" ?> et non pas blabla :p
PS : l'include est à bannir elle ne peut pas être stoquée dans une variable.

Comment faire pour qu'elle affiche directement blabla svp?
Merciii :)

++

10 réponses

FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
27 mars 2006 à 22:43
eval()
cs_Linuss Messages postés 176 Date d'inscription mardi 7 octobre 2003 Statut Membre Dernière intervention 9 mai 2008
28 mars 2006 à 13:45
Hello FhX

Merci, mais comment tu utilises cette fonction stp? Car en fait c'est un script php directement qui doit être exécuté.
Il contient par ex. :

<?php
echo "truc";
?>

puis $read lit ce fichier, mais ne le parse pas.
J'ai bien essayé un
eval("\$read = "$read";");
mais avec un jolie erreur :

Parse error: parse error, unexpected T_STRING in /var/www/free.fr/7/d/l.2/includes/template.class.php(20) : eval()'d code on line xx

Tu pourrais me dire comment utiliser la fonction stp?

merciii
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
28 mars 2006 à 15:47
Hello,

ben $sString = file_get_contents ('fichier.php');
eval ($sString);
Mais tu vas avoir un problème avec les <?php et ?> initial et final.
Je peux savoir pourquoi tu ne fais pas :
$sString = file_get_contents ('fichier.php');
readfile ($sString);
?
ou
$sString = file_get_contents ('fichier.php');
require_once 'fichier.php';
?
cs_Linuss Messages postés 176 Date d'inscription mardi 7 octobre 2003 Statut Membre Dernière intervention 9 mai 2008
28 mars 2006 à 15:57
Hello,

En fait le readfile ne peut pas se stocker dans une variable, c'est pour ca que je ne peux pas l'utiliser
et le eval($string) me fait également une erreur

http://www.php.net/manual/fr/function.eval.php

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
28 mars 2006 à 16:03
On s'en fout qu'il ne le stocke pas dans une variable. Je t'ai dit d'utiliser le file_get_contents () ET un readfile ensuite pour exécuter.
Comme ça, ce sera exécuté et tu auras aussi le résultat du traitement.
Ce n'est pas ce que tu veux ?
cs_Linuss Messages postés 176 Date d'inscription mardi 7 octobre 2003 Statut Membre Dernière intervention 9 mai 2008
28 mars 2006 à 16:09
Oui hé bien ca ne marche pas tout simplement lol ^^
le readfile ne peut pas se faire sur une chaine de caractère, juste sur un fichier pour l'afficher.
toi tu veux ca :
$sString = file_get_contents ('fichier.php');
readfile ($sString);
mais en tout cas pour moi ca ne peut pas marcher (j'ai testé :p)
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
28 mars 2006 à 16:28
Ah donc tu veux récupérer dans une variable, puis exécuter ce qu'il y a dans la variable plus tard. ok. Je ne voyais pas ça comme ça.
Dans ce cas, retour à eval (), mais je ne t'aiderai pas à l'utiliser : je n'ai jamais utilisé cette fonction et je ne compte pas m'y mettre... ;-)
cs_Linuss Messages postés 176 Date d'inscription mardi 7 octobre 2003 Statut Membre Dernière intervention 9 mai 2008
28 mars 2006 à 16:36
^^ pas grave merci quand même
Je continue a chercher
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
28 mars 2006 à 16:48
Bon j'ai quand même jeté un oeil...
et...c'est bien ce que je pensais: les <?php et ?> posent problèmes (ceux de début et de fin) parce qu'ils font doublon avec ceux du script exécutant le eval. Donc :

<?php
$sString = file_get_contents ('occ.php');
$sString = ltrim ($sString, '<?php');
$sString = rtrim ($sString, '?>');
eval ($sString);
?>
et ça roule (chez moi en tous cas).
cs_Linuss Messages postés 176 Date d'inscription mardi 7 octobre 2003 Statut Membre Dernière intervention 9 mai 2008
28 mars 2006 à 18:02
yep merci ca marche :)
par contre now on peut plus mettre de code autre que php lol^^
mirci
Rejoignez-nous