Modifier et supprimer dans un fichers en php
Résolu
fa23
Messages postés
87
Date d'inscription
Statut
Membre
Dernière intervention
-
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,
Je travaille sur les fichiers en ce moment et j'essaie qu'on puisse modifier mon fichier mais aussi pouvoir supprimer quelque chose a l'intérieur, malheureusement ca fais quelques jours que j'essaye cela mais je n'y arrive toujours pas.
Merci
fa23
Je travaille sur les fichiers en ce moment et j'essaie qu'on puisse modifier mon fichier mais aussi pouvoir supprimer quelque chose a l'intérieur, malheureusement ca fais quelques jours que j'essaye cela mais je n'y arrive toujours pas.
Merci
fa23
A voir également:
- Supprimer un fichier php
- Supprimer rond bleu whatsapp - Guide
- Fichier bin - Guide
- Impossible de supprimer un fichier - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
4 réponses
Voici mon code au complet
<!DOCTYPE html> <html> <head> <title>Les fichiers PHP</title> </head> <body> <form method="POST"> <b><br /><p><font size="10">Les fichiers en PHP</p></font></p><br /></b> <b>Nom : </b><input type="text" name="nom" required="required"><br /><br /> <b>Prénom : </b><input type="text" name="prenom" required="required"><br /><br /> <b>Numéro de téléphone : </b><input type="tel" name="numtel" required="required"><br /><br /> <input type="submit" name="envoi" value="Envoyez"> <?php error_reporting(E_ALL & ~E_NOTICE); $nom = $_POST['nom']; $prenom = $_POST['prenom']; $num = $_POST['numtel']; if ($nom && $prenom && $num) { $ouvre = fopen("fichier.txt", "a+"); $nom.="*"; $prenom .="*"; $num .= "*"; fwrite($ouvre, $nom); fwrite($ouvre, $prenom); fwrite($ouvre, $num); fclose($ouvre); } ?> </form> <br/><a href="affichecontact.php" >Afficher les contacts</a><br /><br /> <a href="accueil.php">Accueil</a> </body> </html>
fa23
Messages postés
87
Date d'inscription
Statut
Membre
Dernière intervention
1
Bonjour,
Avant tout, commence par activer l'affichage des erreurs PHP et suis les quelques conseils donnés ici.
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Ensuite, si tu ne parviens toujours pas à réaliser ton script, poste le nous ( en utilisant les balises de code )
Explications concernant les balises de code : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Pense également à expliquer en détail ( code à l'appui ) le souci rencontré et ce que tu cherches à faire.
pour l'instant.. ta question ne permet pas de comprendre ton problème.
Avant tout, commence par activer l'affichage des erreurs PHP et suis les quelques conseils donnés ici.
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Ensuite, si tu ne parviens toujours pas à réaliser ton script, poste le nous ( en utilisant les balises de code )
Explications concernant les balises de code : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Pense également à expliquer en détail ( code à l'appui ) le souci rencontré et ce que tu cherches à faire.
pour l'instant.. ta question ne permet pas de comprendre ton problème.
Désolé quand tu était en train de me répondre, j'étais en train d'insérer mon code justement que tu peux retrouver juste au dessus et donc mon problème c'est que j'aimerais qu'on puisse modifier le prénom, le nom ou le numéro de téléphone dans le fichier et aussi pouvoir supprimer quelque chose dans le fichier
J'ai bien vu que tu avais mis le code pendant que je répondais.
Mais comme tu as pu le lire dans ma réponse.... je t'ai donné des liens à suivre.
Concernant ton code, hormis lire et écrire il ne fait rien d'autre.
Où as tu essayé de faire la modification ou la suppression ?
Car pour modifier ou supprimer... tu vas devoir recharger la totalité de ton fichier dans un array ou dans une string, faire une "recherche" puis retirer cette ligne de ta variable avant de réécrire complètement le fichier.
Mais quit à stocker des données dans un fichier, utilise un format facilement exploitable tel que le JSON
ou alors.. si tu veux faire un CSV ... utilise un "vrai" séparateur comme la virgule. A ce moment là, tu auras des fonctions php spécialement prévues pour fonctionner avec du csv.
Mais comme tu as pu le lire dans ma réponse.... je t'ai donné des liens à suivre.
Concernant ton code, hormis lire et écrire il ne fait rien d'autre.
Où as tu essayé de faire la modification ou la suppression ?
Car pour modifier ou supprimer... tu vas devoir recharger la totalité de ton fichier dans un array ou dans une string, faire une "recherche" puis retirer cette ligne de ta variable avant de réécrire complètement le fichier.
Mais quit à stocker des données dans un fichier, utilise un format facilement exploitable tel que le JSON
ou alors.. si tu veux faire un CSV ... utilise un "vrai" séparateur comme la virgule. A ce moment là, tu auras des fonctions php spécialement prévues pour fonctionner avec du csv.
La première partie du code sert a écrire dans le fichier et la deuxième partie sert a afficher le contenu du fichier
Voici mon code pour la modification que j'ai essayer de faire, en ce qui concerne la suppression je prefere faire la modification avant
<!DOCTYPE html> <html> <head> <title>Modifier un contact</title> </head> <body> Que voulez vous remplacer ? <input type="text" name="remplace"> <form method="POST"> <?php error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); $ouvre=fopen("fichier.txt","r"); $remplacer = $_POST['remplace']; while (!feof ($ouvre)) { $lecture = fgets($ouvre, 4096); $donnee = explode("*",$lecture); $combien = count($donnee)-1; for ($i=0;$i<$combien;$i++) { if (ereg("$lecture",$donnee[$i])) { $donnee[$i]=str_replace("$remplacer", "2°", $donnee[$i]); } $liste_modif.=$donnee[$i]."*"; } } fclose($ouvre); // fermeture $ouvre=fopen("fichier.txt","w+"); fwrite($ouvre,$liste_modif); fclose($ouvre); ?> </form> </body> </html>
effectivement je viens de corriger ca
<!DOCTYPE html> <html> <head> <title>Modifier un contact</title> </head> <body> <form method="POST"> Que voulez vous remplacer ? <input type="text" name="remplace"> <input type="submit" name="entrer" value="Envoyez"> <?php error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); $ouvre=fopen("fichier.txt","r"); $remplacer = $_POST['remplace']; while (!feof ($ouvre)) { $lecture = fgets($ouvre, 4096); $donnee = explode("*",$lecture); $combien = count($donnee)-1; for ($i=0;$i<$combien;$i++) { if (ereg("$lecture",$donnee[$i])) { $donnee[$i]=str_replace("$donnee", "$remplacer", $donnee[$i]); } $liste_modif.=$donnee[$i]."*"; } } fclose($ouvre); // fermeture $ouvre=fopen("fichier.txt","w+"); fwrite($ouvre,$liste_modif); fclose($ouvre); ?> </form> </body> </html>
Toi tu n'as pas lu comment fonctionne str_replace
$search => VALEUR CHERCHEE (celle que tu veux remplacer )
$replace => VALEUR A UTILISER POUR LE REMPLACEMENT
$subject => TEXTE QUI CONTIENT EVENTUELLEMENT LA VALEUR A RECHERCHER/REMPLACER
Pour l'instant tu n'as qu'un seul input .... qui, d'après ce que je comprend, est la valeur à remplacer....... mais tu veux le remplacer par quoi ?
str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] ) : mixed
$search => VALEUR CHERCHEE (celle que tu veux remplacer )
$replace => VALEUR A UTILISER POUR LE REMPLACEMENT
$subject => TEXTE QUI CONTIENT EVENTUELLEMENT LA VALEUR A RECHERCHER/REMPLACER
Pour l'instant tu n'as qu'un seul input .... qui, d'après ce que je comprend, est la valeur à remplacer....... mais tu veux le remplacer par quoi ?
En gros, je demande a l'utilisateur qu'est ce qu'il veut remplacer soit le nom , le prénom ou le numéro de téléphone. Ensuite, je demande quel nom, prénom ou numéro de téléphone qui veut remplacer et ensuite par quoi il veut le remplacer et après une fois que cela est fait je veux que la modification soit fait aussi dans le fichier