Créer un fichier php en php! [résolu]

Créer un fichier php en php! [résolu] - PHP - Programmation

Marsh Posté le 04-03-2006 à 20:06:27    

Salut à tous,
comme l'indique le titre, je voudrai créer un fichier php en php, voila le fichier que je souhaite créer :

Code :
  1. <?php
  2. $pseudo='le pseudo rentré dans le formulaire';
  3. $couleurfond='la valeure rentrée dans le formulaire';
  4. $bordercolor='idem';
  5. $bordersize='idem';
  6. ?>


 
Voila ce que j'ai écrit :

Code :
  1. <?php
  2. $pseudo=$_POST['pseudo'];
  3. $couleurfond=$_POST['couleurfond'];
  4. $bordercolor=$_POST['bordercolor'];
  5. $bordersize=$_POST['bordersize'];
  6. $ouverture = fopen("user.inc.php", "a" );
  7. $pseudo="plop";
  8. $couleurfond="black";
  9. $bordercolor="grey";
  10. $bordersize="2";
  11. fwrite($ouverture,"<? php \n$pseudo=".$pseudo.";\n$couleurfond=".$couleurfond.";\n$bordercolor=".$bordercolor.";\n$bordersize=".$bordersize.";\n?>" );
  12. fclose($ouverture);
  13. ?>


 
et voila le fichier user.inc.php que j'obtient :

Code :
  1. <? php
  2. plop=plop;
  3. black=black;
  4. grey=grey;
  5. 2=2;
  6. ?><? php
  7. plop=plop;
  8. black=black;
  9. grey=grey;
  10. 2=2;
  11. ?><? php
  12. plop=plop;
  13. black=black;
  14. grey=grey;
  15. 2=2;
  16. ?>


 
Voila, si quelqu'un pouvait m'aider ce serait trés gentil de sa part :hello:


Message édité par hugoOo le 05-03-2006 à 14:27:28
Reply

Marsh Posté le 04-03-2006 à 20:06:27   

Reply

Marsh Posté le 04-03-2006 à 20:15:23    

parce que tu te goures entre les ' et les "
 
une variable entre ' ne sera pas converti, une variable entre " sera remplacé par sa valeur. On dit que double quotes parse alors que simple quote ne parse pas
 
fwrite($ouverture,'<? php '."\n".'$pseudo='.$pseudo.';'."\n".'$coul.....
 
et tu continues ;)
 
voila


---------------
N'oubliez pas de mettre [RESOLU] dans le titre quand c'est fini - Pour poster vos sources : http://paste.clicksources.com/
Reply

Marsh Posté le 04-03-2006 à 20:46:52    

merci beaucoup, j'avais jamais entendu cette règle! je vais essayer cela.

Reply

Marsh Posté le 04-03-2006 à 21:00:58    

j'ai encore un petit problème :
j'obtient maintenant le bon code dans ma page php mais il se copie 5 fois à la suite! quelqu'un pourrait t'il me dire pourquoi?

Reply

Marsh Posté le 04-03-2006 à 22:49:34    

Citation :


merci beaucoup, j'avais jamais entendu cette règle! je vais essayer cela.


 
tu dois pas connaitre beaucoup de regles alors parce que c'est un peu la base qd même.
 
Si ca se copie 5 fois c'est que sois tu as une boucle, soit tu copies à l a suite à cause du a
 
si tu veux remplacer ton fichier utilises w et non a :
 
$ouverture = fopen("user.inc.php", "w" );
 


---------------
N'oubliez pas de mettre [RESOLU] dans le titre quand c'est fini - Pour poster vos sources : http://paste.clicksources.com/
Reply

Marsh Posté le 05-03-2006 à 12:57:39    

mon script est trés simple, pas de boucle et le fichier se cré lors de l'acriture!:

Code :
  1. <?php
  2. $pseudo=$_POST['pseudo'];
  3. $couleurfond=$_POST['couleurfond'];
  4. $bordercolor=$_POST['bordercolor'];
  5. $bordersize=$_POST['bordersize'];
  6. $ouverture = fopen("/users/".$pseudo."/user.inc.php", "a" );
  7. fwrite($ouverture,'<? php '."\n".'$pseudo='.$pseudo.';'."\n".'$couleurfond='.$couleurfond.';'."\n".'$bordercolor='.$bordercolor.';'."\n".'$bordersize='.$bordersize.';'."\n".'?>');
  8. fclose($ouverture);
  9. echo 'Ton blog a bien été personnalisé!<br>Pour que les changements soit pris en compte et continuer à modifier ton blog,<br><a href="http://*******.c.la">tu dois retourner à la page d\'accueil et t\'identifier.</a>';
  10. ?>


Message édité par hugoOo le 05-03-2006 à 12:59:52
Reply

Marsh Posté le 05-03-2006 à 13:13:26    

$ouverture = fopen("/users/".$pseudo."/user.inc.php", "a" );
 
le "a" veut dire ajouter (add en anglais), donc si le fichier existe déjà, il rajoute ton code à la suite. comme le dit newneo, utilise plutôt :
 
$ouverture = fopen("/users/".$pseudo."/user.inc.php", "w" );
 
++


Message édité par Deliv le 05-03-2006 à 13:14:13
Reply

Marsh Posté le 05-03-2006 à 13:42:06    


Note :  Pour des raisons de portabilité, il est recommandé de toujours utiliser l'option 'b' lorsque vous ouvrez des fichiers avec fopen().
 
c'est pas moi qui le dit
 
http://fr3.php.net/manual/fr/function.fopen.php
 
Deliv > et pour info le a c'est pas add, mais append plus exactement ;)


---------------
N'oubliez pas de mettre [RESOLU] dans le titre quand c'est fini - Pour poster vos sources : http://paste.clicksources.com/
Reply

Marsh Posté le 05-03-2006 à 13:56:31    

donc je met "ab", "b" ou "wb"?
EDIT : en utilisant "w" j'obtient cette erreur  

Citation :

Warning: fopen(): SAFE MODE Restriction in effect. The script whose uid is 3062723 is not allowed to access / owned by uid 0 in /www/sites/1/ifrance.com/l/o/lostblog/site/valperso.php on line 6


Message édité par hugoOo le 05-03-2006 à 14:00:18
Reply

Marsh Posté le 05-03-2006 à 14:03:45    

normalement c'est "wb"
 
mais c'est étonnant que le safe mode s'active sur w et pas sur a. Ca m'étonne


---------------
N'oubliez pas de mettre [RESOLU] dans le titre quand c'est fini - Pour poster vos sources : http://paste.clicksources.com/
Reply

Marsh Posté le 05-03-2006 à 14:03:45   

Reply

Marsh Posté le 05-03-2006 à 14:26:56    

oups.. j'avais fait une erreur sur le fichier de destination, c'est bon sa marche impec! avec "wb" merci! :D

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed