Page 1 sur 1

créer un fichier

Posté : 29 oct. 2007, 17:01
par FABL
bonjour à tous

voila j'ai un soucis pour creer un fichier , je veux creer un fichier extention php qui contiendra cela
<?php
$motDePasseAdmin = "pass"; ///en dur
?>
le probleme ou je butte c'est lors de la construction de la chaine de caractere dans ma variable etant donné que le texte est lui meme composé de $variable .....
$text = "<?php"."$motDePasseAdmin =" .".$pass1 .";" ."?>";
je voudrais optenir une chaine "litérale"

je m'égare dans mes recherches , vous avec une idée de la technique à employer , ecrire dans le fichier sans toucher au tag php ?? ..... mais j'ai toujours le soucis que je veux ecrire en dur une $variable

merci de vos réponses

Posté : 29 oct. 2007, 17:12
par SonicDark
$pass = $_POST['pass']; // par formulaire avec methode POST

$text = "$pass"; 

if ($text!="*") {
$ouvre=fopen("TON FICHIER .PHP","w+");
fwrite($ouvre, $text);    
fclose($ouvre);			
}

Posté : 29 oct. 2007, 17:17
par Ryle
Quelques remarques :
- pour protéger un caractère spécial dans une chaine on le précède d'un antislash. Ainsi php sait qu'il s'agit du caractère que l'on souhaite utiliser et ne l'interpète pas (c'est vallable pour les guillemets, mais aussi pour le $ par exemple).
- Dans une chaine délimitée entre apostrophes les variables ne sont pas interprétées.

:)

Ps : pense aux balises [ php ] pour ton code php !! :)

Posté : 29 oct. 2007, 18:37
par FABL
$pass = $_POST['pass']; // par formulaire avec methode POST

$text = "$pass"; 

if ($text!="*") {
$ouvre=fopen("TON FICHIER .PHP","w+");
fwrite($ouvre, $text);    
fclose($ouvre);			
}
merci de ta réponse ,

dans ce cas , le fichier va contenir la valeur de $test ca j'arrive à faire

mais mon probleme est que dans la var $texte , il faut qu'il est l'ensemble du contenu du fichier.php

soit

<?php
$motDePasseAdmin = "pass";
?>

lorsque je contruis la var $text je rencontre des soucis car je fais

$text = "<?php"."$motDePasseAdmin =" .".$pass1 .";" ."?>";

et j'arrive pas à ecrire $motDePasseAdmin = "pass" ;

cordialement
a+++

Posté : 30 oct. 2007, 13:34
par Invité
Bonjour Comme disais Ryle.. utilise les antislash
$test="\$motDePasseAdmin = \"{$_POST['pass']}\";";
ou encore utilise des quotes simple pour que les variable ne soit pas interprétée.
$test='$motDePasseAdmin = "'.$_POST['pass'].'";';