Renommer un fichier
Résolu
PhilippeF
-
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Dans un fichier "membres.txt" j'ai : "nom; prénom; ; ;"
A la première connexion les membres sont invités à renseigner leur adresse mail et un mot de passe.
lorsque le membre est trouvé dans le fichier "membres.txt" j'écris dans un fichier "memebres1.txt" la ligne suivante : "nom; prénom; mail; mot_de_passe;"
J'obtiens à la fin un fichier "membres1.txt" comme je veux.
Le fichier "membres.txt" est bien supprimé.
Je n'arrive pas à renommer "membres1.txt en membres.txt.
j'ai ce message
"Warning: rename(fr/membres1.txt,fr/membres.txt): in C:\Weblocal\Sites\Jumelage\fr\logging.php on line 83"
mon fichier Logging.php
EDIT : Ajout du langage dans les BALISES DE CODE
Merci d'avance pour votre aide
Dans un fichier "membres.txt" j'ai : "nom; prénom; ; ;"
A la première connexion les membres sont invités à renseigner leur adresse mail et un mot de passe.
lorsque le membre est trouvé dans le fichier "membres.txt" j'écris dans un fichier "memebres1.txt" la ligne suivante : "nom; prénom; mail; mot_de_passe;"
J'obtiens à la fin un fichier "membres1.txt" comme je veux.
Le fichier "membres.txt" est bien supprimé.
Je n'arrive pas à renommer "membres1.txt en membres.txt.
j'ai ce message
"Warning: rename(fr/membres1.txt,fr/membres.txt): in C:\Weblocal\Sites\Jumelage\fr\logging.php on line 83"
mon fichier Logging.php
// je clique sur le bouton "enregistrer" if (isset($_POST['firstConnect'])){ if ((empty($nom)) OR (empty($prenom))){ // test si le nom et le prénom du formulaire sont renseignés $message1 = "Merci de renseigner votre nom et votre prénom."; } else if ((empty($message)) AND (empty($message1))){ $membres = 'fr/membres.txt'; $temporaire ='fr/membres1.txt'; $temporairea = fopen($temporaire,'a'); $lines = file('fr/membres.txt'); foreach($lines as $n => $line){ $champ = explode(";",$line); $champ0 = $champ[0]; $champ1 = $champ[1]; // tester $champ1 = $prenom et $champ2 = $nom if (($champ[0] == $nom) && ($champ[1] == $prenom)) { $newline = $champ0 .";" . $champ1 .';'.$mail.';'.$pass.';'; $newline = $newline."\r\n"; fwrite($temporairea,$newline); $_SESSION['utilisateur'] = $champ1; //pour affichage sur la page index } else { $newline = $champ[0] .";" . $champ[1] .';'.$champ[2].';'.$champ[3].';'; $newline = $newline."\r\n"; fwrite($temporairea,$newline); } } unlink('fr/membres.txt'); rename('fr/membres1.txt','fr/membres.txt'); $message2 = "Vous êtes maintenant connectés."; } }
EDIT : Ajout du langage dans les BALISES DE CODE
Merci d'avance pour votre aide
A voir également:
- Renommer un fichier
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Renommer fichier en masse - Guide
- Fichier rar - Guide
1 réponse
Bonjour,
Tu as fais un fopen sur le fichier .... il est donc toujours utilisé.
Il faut d'abord le fermer...
Essaye ça
Tu as fais un fopen sur le fichier .... il est donc toujours utilisé.
Il faut d'abord le fermer...
Essaye ça
<?php $directory = 'fr'; $membres = $directory .'/membres.txt'; $temporaire = $directory .'/membres1.txt'; // je clique sur le bouton "enregistrer" if (isset($_POST['firstConnect'])){ if ((empty($nom)) || (empty($prenom))){ // test si le nom et le prénom du formulaire sont renseignés $message1 = "Merci de renseigner votre nom et votre prénom."; } else if ((empty($message)) && (empty($message1))){ $temporairea = fopen($temporaire,'a'); $lines = file($membres); foreach($lines as $n => $line){ $champ = explode(";",$line); $champ0 = $champ[0]; $champ1 = $champ[1]; // tester $champ1 = $prenom et $champ2 = $nom if (($champ[0] == $nom) && ($champ[1] == $prenom)) { $newline = $champ0 .";" . $champ1 .';'.$mail.';'.$pass.';'; $newline = $newline."\r\n"; fwrite($temporairea,$newline); $_SESSION['utilisateur'] = $champ1; //pour affichage sur la page index }else { $newline = $champ[0] .";" . $champ[1] .';'.$champ[2].';'.$champ[3].';'; $newline = $newline."\r\n"; fwrite($temporairea,$newline); } } fclose($temporairea); unlink($membres); rename($temporaire,$membres); $message2 = "Vous êtes maintenant connectés."; } }
J'avais bien essayé fclose($temporaire) mais je n'avais pas fait attention à $temporairea .
encore merci
Me reste à coder le mot de passe!!
Comment je mets "résolu" ?