Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

A partir d'un fichier php, ecrire du code php dans un second sans l'interpreter. Est-ce possible ???

6 réponses
Avatar
Frederic Broothaers
Bonjour,

J'ai un petit souci. Je voudrais, à partir d'un fichier php "1.php", générer
un autre fichier php "2.php".

S'il s'agit simplement d'un fichier "2.php" qui affiche quelque chose, ça
marche, mais quand il s'agit de generer un fichier "2.php" qui devra tester
une variable, ça coince, car le fichier "1.php" interprete la variable AVANT
de l'écrire dans "2.php".

Comment faire pour qu'il l'écrive sans l'interpréter ???

Voici le code contenu dans "1.php":

$myfile = fopen("2.php","w");
if (!($myfile)){print ("Erreur d'ouverture du fichier!");}
else{
fputs($myfile, "<?php\n");
fputs($myfile, "print ('$mavariable');\n");
fputs($myfile, "?>\n");
}
fclose ($myfile);

Comme $mavariable n'existe pas dans "1.php", il me la remplace par du vide,
alors que je voudrais qu'il ecrive textuellement dans "2.php" :

print ('$mavariable');

Avez-vous une solution à mon problème ?

Merci d'avance,

Fred

6 réponses

Avatar
Thibaut Allender

print ('$mavariable');

Avez-vous une solution à mon problème ?


il suffit d'echapper $, comme ceci :

print "$mavariable";

Merci d'avance,


de rien

--
freelance + web|system developper|designer
+ 32 496 26 75 76 + http://www.capsule.org

Avatar
Hugues Peeters
Comme $mavariable n'existe pas dans "1.php", il me la remplace par du vide,
alors que je voudrais qu'il ecrive textuellement dans "2.php" :

print ('$mavariable');

Avez-vous une solution à mon problème ?


Oui. Il suffit que vous mettiez un caractère d'échapement (backslash )
juste avant le dollars ($).

Cordialement,

Hugues Peeters

---
http://www.claroline.net

Avatar
Etienne SOBOLE
"Frederic Broothaers" a écrit dans le message de
news:4019190d$0$13243$

faut echape le $

ca donne

$myfile = fopen("2.php","w");
if (!($myfile)){print ("Erreur d'ouverture du fichier!");}
else{
fputs($myfile, "<?phpn");
fputs($myfile, "print ('$mavariable');n");
fputs($myfile, "?>n");
}
fclose ($myfile);

Etienne
Avatar
john gallet
Bonsoir,

Moi je la sens pas l'échappement. C'est pas logique.

fputs($myfile, "<?phpn");
fputs($myfile, "print ('$mavariable');n");
fputs($myfile, "?>n");


Donc dans le fichier j'aurai :

<?php
print('$mavariable');
?>

Et là je ne vois pas comment $mavariable sera interprêtée...
Donc si ce qu'on veut c'est d'abord cracher une chaîne SANS
interprêtation PUIS que le résultat soit interprêté, pero j'inverserais
les ' et " dans le code d'origine c'est à dire : fputs($myfile, 'print
("$mavariable");n');

(NB : non testé)

a++
JG

Avatar
Etienne SOBOLE
"john gallet" a écrit dans le message de
news:

Moi je la sens pas l'échappement. C'est pas logique.


Deja a la base fabriquer un .php en php c'est pas logique ;)
ca a surtout pas beaucoup d'interet

Donc dans le fichier j'aurai :
<?php
print('$mavariable');
?>


Ben c'est exactement ce qui est demandé.
Apres que ca serve a rien c'est autre chose.

Et là je ne vois pas comment $mavariable sera interprêtée...
Donc si ce qu'on veut c'est d'abord cracher une chaîne SANS
interprêtation PUIS que le résultat soit interprêté, pero j'inverserais
les ' et " dans le code d'origine c'est à dire : fputs($myfile, 'print
("$mavariable");n');


Oui. pareil.

Etienne

Avatar
Christophe PEREZ
Le Fri, 30 Jan 2004 13:25:20 +0000, Etienne SOBOLE a écrit:

Deja a la base fabriquer un .php en php c'est pas logique ;)
ca a surtout pas beaucoup d'interet


C'est comme un $$variable :-)
J'attends toujours le cas où je ne pourrai pas faire autrement, mais en
php, jamais utilisé.

--
Christophe PEREZ
Écrivez moi sans _faute !