[php]écrire dans un fichier, retour à la lign

Flobard -  
Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   -
$fichier = fopen('pass.php','w+');
fputs($fichier,'<?PHP\n$');
fputs($fichier,'bonlogin = \''.$modiflogin.'\';\n$');
fputs($fichier,'bonpass = \''.$modifpass.'\';\n');
fputs($fichier,'?>');
fclose($fichier);


Salut tout le monde ;)
Donc voici le code qui plante. Le but ici est que lorsque la modificatoin par formulaire du mot de passe de la zone admin est faite, le fichier pass.php (qui contient les pass ;)) soit vidé (w+) et que je réécrive les lignes suivantes :
<?PHP
$bonlogin = $modiflogin;
$bonpass = $modifpass;
?>


le problème se pose donc sur les retours à la ligne qui m'écrivent une suele ligne avec les \n dans ce fichier :)

Merci d'avance :)
Florent
A voir également:

4 réponses

Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
Bonjour,

Ce n'est pas un problème de \r\n ou \n, mais un problème de double quotes ou simple quotes.
Si tu mets fputs($fichiers("\n")), tu auras un retour à la ligne.
Si tu mets fputs($fichiers('\n')), tu auras juste la chaine de caractères \n.

Xavier

Édition : Oups désolé, je n'avais pas vu la date du message original...
11
Babylontiti Messages postés 59 Date d'inscription   Statut Membre Dernière intervention   28
 
Salut à tous,

Il y à aussi la séquence d'échappement: \r\n
Qui est à placer tout de suite après la variable comprise entre les " "

Ex:
<?php
$bonlogin = "root";
$bonpass = "pass";
$modiflogin = "ancien_login";
$modifpass = "ancien_pass";
/* 
J'ai déclaré ces 4 variables ici afin d'éviter une erreur,
mais normalement elles arrivent du champ de formulaire,
donc à supprimer ensuite dans ce script !
*/
$fichier = fopen('pass.php','w+');
 fputs($fichier,"<?PHP\r\n");
  fputs($fichier,"$bonlogin = '$modiflogin';\r\n");
  fputs($fichier,"$bonpass = '$modifpass';\r\n");
 fputs($fichier,"?>");
fclose($fichier);
?>


Et voilou pour le retour chariot..., à savoir que ce script exécuté donneras:
<?PHP
root = 'ancien_login';
pass = 'ancien_pass';
?>

C'est peut-être pas ce que tu voulais que ça donne, non ?
bye@+
PS: pourrais-tu mettres le script en entier, svp?
2
visiteur
 
bonjour,

\r\n est le retour à la ligne sous windows
1
kilian Messages postés 8732 Date d'inscription   Statut Modérateur Dernière intervention   1 526
 
Salut,

Et comme ça?

fputs($fichier,
"bonlogin = '$modiflogin';\n
bonpass = '$modifpass';\n
?>";
0