Accueil > Forum > > > > Suppression ligne fichier texte
Suppression ligne fichier texte
mercredi 17 novembre 2010 à 10:17:34 |
Suppression ligne fichier texte

abdinfo6
|
Bonjour,
j'ai un fichier texte contenant un mot par ligne (machin 1, truc, machin2 ...) et je n'arrive pas à supprimer l'élément
voulu. Mon fichier texte apparait dans une liste déroulante. Le mot à supprimer est donc sélectionné et doit être
supprimé par l'action du clic sur le bouton "supprimer".
J'ai donc ce code la :
Code PHP :
if (isset($_POST[supprimer])) // si l'utilisateur a appuyer sur le bouton supprimer
{
$valeur_eff = $_POST[liste]; // récupère la valeur à supprimer
$tab = file($fic);
$cpt = 0;
$fp = fopen($fic, 'w');
while (($cpt < count($tab)) && ($valeur_eff != trim($tab[$cpt]))) // tant qu'on a pas la valeur
{
fputs($fp, $tab[$cpt]);
fputs ($fp , "\r\n");
$cpt++;
}
while ($cpt < count($tab))
{
$valeur_sup = $tab[$cpt++];
fputs ($fp, $valeur_sup);
fputs ($fp , "\r\n");
}
fclose ($fic);
header('Location: suppression.php');
}
Merci car je jette l'éponge là ...
abdinfo6
|
|
mercredi 17 novembre 2010 à 10:55:16 |
Re : Suppression ligne fichier texte

cod57
|
Bonjour
Tu devrais utiliser str_replace();
si tu veux supprimer un bout du fichier, tu remplaces dans le fichier ce bout par rien.
|
|
mercredi 17 novembre 2010 à 11:15:16 |
Re : Suppression ligne fichier texte

cod57
|
http://www.phpcs.com/forum/sujet-MODIFIER-CHAINE-FICHIER-TEXTE_1477174.aspx
un ancien post ...
|
|
mercredi 17 novembre 2010 à 12:21:20 |
Re : Suppression ligne fichier texte

neigedhiver
|
Salut,
Moi je ferais pas comme ça.
Dans ma liste HTML, pour chaque mot, la valeur de l'option serait son numéro de ligne dans le fichier en question.
Pour la créer, un truc dans le genre :
Code PHP : <?php
echo '<select name="supprimer">';
foreach ($file = file($fic) as $num => $line) {
echo sprintf('<option value="%s">%s</option>', $num, $line);
}
echo '</select>';
?>
Ensuite, pour sauvegarder le fichier :
Code PHP : <?php
// Avec des guillemets autour de 'supprimer', sinon on obtient une erreur de type E_NOTICE
if (isset($_POST['supprimer'])) {
$file = file($fic);
// On s'assure que le numéro de la ligne est compris entre 0 et count($file)
if ($num >= 0 && $num < count($file) {
// On supprime la ligne en question
array_splice($file, $num, 1);
// On écrit le fichier
// On peut utiliser \r\n comme retour à la ligne sur Windows
file_put_contents($fic, implode("\n", $file));
}
}
?>
C'est pas parce que c'est de moi, mais je trouve que c'est plus élégant.
--
Neige
Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
|
|
mercredi 17 novembre 2010 à 12:53:53 |
Re : Suppression ligne fichier texte

neigedhiver
|
Des fois j'écris des énormités...
Au lieu de echo sprintf()... on peut utiliser simplement printf() lol
--
Neige
Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
|
|
mercredi 17 novembre 2010 à 13:04:52 |
Re : Suppression ligne fichier texte

jeca
|
Bonjour,
Je pense que les <option> de ton <select> sont mal construits. La fonction "file()" retourne un tableau. Tu doit mettre la clé de chaque ligne dans l'attribut "value".
Copie les lignes ci-dessous dans un fichier "test.txt" :
ligne N° 1
ligne N° 2
ligne N° 3
ligne N° 4
ligne N° 5
ligne N° 6
ligne N° 7
ligne N° 8
ligne N° 9
ligne N° 10
ligne N° 11
ligne N° 12
ligne N° 13
ligne N° 14
ligne N° 15
ligne N° 16
ligne N° 17
ligne N° 18
ligne N° 19
ligne N° 20
Génération des options et affichage du formulaire :
Code PHP : <?php
function creeSelect($ligne)
{
//-- génération de <option> du <select> ------------------------------------
$option = '';
foreach ($ligne as $cle => $valeur)
{
$option .= '<option value="' . $cle . '">' . trim($valeur) . '</option>';
}
return $option;
}
//----------------------------------------------------------------------------
//----------------------------------------------------------------------------
//----------------------------------------------------------------------------
$fichier = 'test.txt';
$ligne = file ($fichier);
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
</script>
</head>
<body>
<form name="formulaire" method="post" action="essai.php">
<select name="ligne">
<?php echo creeSelect($ligne) ?>
</select>
<br />
<input type="submit" name="sup" value="supprimer" />
</form>
</body>
</html>
Suppression de la ligne sélectionnée et réécriture de "test.txt" :
Code PHP : //-- essai.php --------
<?php
if (isset($_POST['sup']))
{
$aSupprimer = $_POST['ligne'];
$fichier = 'test.txt';
$ligne = file ($fichier);
unset($ligne[$aSupprimer]);
file_put_contents ( $fichier , $ligne);
}
?>
Cordialement.
JC Code PHP :
|
|
mercredi 17 novembre 2010 à 13:06:18 |
Re : Suppression ligne fichier texte

jeca
|
Damned, grillé par neigedhiver.
Cordialement.
JC
|
|
mercredi 17 novembre 2010 à 13:52:44 |
Re : Suppression ligne fichier texte

neigedhiver
|
Jeca, tu as fait une erreur dans l'utilisation de file_put_contents : si tu y colles directement le tableau, ça va pas aller... Il faut concaténer toutes les lignes entre elles, avec une nouvelle ligne (\n) entre chaque, avec implode par exemple ;)
--
Neige
Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
|
|
Cette discussion est classée dans : valeur, supprimer, tab, fp, cpt
Répondre à ce message
Sujets en rapport avec ce message
Suppresion de table jointe ?? [ par jordangj ]
Bonjour je voudrais supprimer tt les valeur d'une requette:select * FROM visiteur v LEFT JOIN page p ON v.code = p.code WHERE idmb = '3' AND v.date LI
afficher une pub flash [ par crazykamel ]
Bonjour à tous ! J'ai un ptit souci, grace au code ci-dessous, j'affiche une pub aléatoirement. //à chaque d
Compteur de visite [ par caramelle974 ]
Salut,J'aurai besoin d'un coup de pouce.. Je dois réaliser une page en PHP qui affiche le nombre de visites.Mais lors de la réécriture ca ne fonctionn
php function somme [ par fredo35m ]
Bonjour,j'ai une fonction qui calcul différentes valeurs pour chaque point, j'aimerais faire la moyenne des valeurs si la valeur est différente de 0 o
changer la valeur d'une variable dans un fichier - avec "ereg" [ par hAdEsS ]
Bonjour à tous,voila j'aimerais pouvoir changer la valeur d'une variable dans un fichier javascript :blabla{...... xmlhttp.send(data);
Insertion et suppression dans un tableau multi-dimension [ par baallrog ]
Bonjour à tous! Voilà jai un petit problème en php : j'ai un tableau à deux dimension donc je voudrai ssupprimer et/ou insérer des lignes ! voici mon
supprimer des doublons [ par pfeisig ]
Bonjour,je veux supprimer des lignes ajouté a une table(enchere) par une requete sql ,en fait je veux supprimer chaque 2 ou plusieurs lignes il suffit
Modifier le mode de rangement [ par scrodofus ]
Bonjour, voila j'ai un ami qui ma creer ce script suivant : [code=php]\n\n"; $tab=array(); if ($handle = opendir('mp3')) { while ($file = readdir
Probleme plusieurs tableau lié. [ par shilom54 ]
Bonjour a tous, je vais essayer de vous expliquer clairement mon problème : dans mon code j'ai 4 tableaux organisés de la façon suivante : [code=p
affichage de valeur d'une zone de texte à un autre [ par info1234 ]
salut! je suis entrain de faire un site de location de voiture. mais ilya un probléme dont le passage de la valeur d'une zone de text d'un formulaire
Livres en rapport
|
Derniers Blogs
ROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGEROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGE par Matthieu MEZIL
Si vous utilisez Roslyn et que vous vous voulez vous simplifier le code du code rewriter, je vous conseille d'installer mon NuGet package RoslynHelper ....(read more) ...
Cliquez pour lire la suite de l'article par Matthieu MEZIL POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|