écriture fichier avec variables

devB
Invité n'ayant pas de compte PHPfrance

12 sept. 2006, 16:29

Bonjour,

je souhaite écrire un fichier (monFichier.php) jusque là aucun problème.
Le hic c'est que je voudrais que ce fichier soit de la forme suivante:
<?php
$cf['lang']="FR";
$cf['affichage']="3";
...
?>
je fais un fwrite de la façon suivante :
$fp = fopen("monFichier.php","w");
$contenu="<?php
$cf['lang']=\"$_POST['langue']\";
$cf['affichage']=\"$_POST['affichage']\";
?>";
fwrite($fp,$contenu);{
fclose($fp);
avec une présentation comme ça j'ai des erreurs de syntaxe...

Pourriez-vous m'aider ?

merci !

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

12 sept. 2006, 17:03

Bonjour,

ça serait plus simple avec les messages d'erreur ;)
Quand tout le reste a échoué, lisez le mode d'emploi...

devB
Invité n'ayant pas de compte PHPfrance

12 sept. 2006, 17:14

ça va pas beaucoup t'aider ...

Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING'

je sais que c'est un problème de cote simple / double mais je vois pas comment y remédier en gardant cette présentation... :?

ViPHP
ViPHP | 1380 Messages

12 sept. 2006, 17:18

Avec des doubles quotes, les variables sont substituées par leur valeur. Il faut donc échapper le $

Code : Tout sélectionner

$contenu="<?php \$cf['lang']=\$_POST['langue']; \$cf['affichage']=\$_POST['affichage']; ?>";
(Edit: Mince alors le BB code me bouffe les \$ avec les balises [ p h p])

Ou bien:

Code : Tout sélectionner

$contenu='<?php $cf[\'lang\']=$_POST[\'langue\']; $cf[\'affichage\']=$_POST[\'affichage\']; ?>';
ripat

devB
Invité n'ayant pas de compte PHPfrance

12 sept. 2006, 17:51

ah il fallait aussi ajouter \ devant ! je vais essayer ! merci !

Invité
Invité n'ayant pas de compte PHPfrance

12 sept. 2006, 18:02

RESOLU ! merci à vous !