Php lecture est ecriture d un fichier

Résolu
layeures Messages postés 286 Date d'inscription   Statut Membre Dernière intervention   -  
Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour tous le monde,

ce que j essayer de faire c est une page web qui ajouter des donne seulement si elle ne ce trouve pas deja dans le fichier texte

j ai essayer de faire un code qui compare un mot est cherche si elle ne ce trouve deja dans le fichier si elle si trouve alors le mot n est pas inserer dans le fichier.

voici le code qui ne marche pas :

test.php
<?
//Permer de lire de tous lire une ligne a la foie
$fp=fopen("texte3.txt","a+");

for ($i=0;$i<5;$i++){
$fichier_texte=fgets($fp,100); //lit les donnee
if ($fichier_texte != "ligne7"){
echo "veuillez entrez une autre variable";
$i = "5";
}
else{
fputs($fp,"$texte1");
echo $fichier_texte."<br />"; // affiche toutes les donne ligne par ligne grace a la boucle
}

}

fclose($fp);

?>

texte3.txt

ligne1
ligne2
ligne3
ligne4
ligne5
ligne6
ligne7


MERCI D'AVANCE DE VOTRE AIDE.
A voir également:

4 réponses

Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   922
 
salut,

combien y a-t-il de mots par ligne ?
si il n'y en a qu'un tu peux le faire plus simplement :
$words = file('texte3.txt'); 
$word = 'ligne7';
if(in_array($words, $word))
    // le mot existe
else
    // le mot n'existe pas
1
layeures Messages postés 286 Date d'inscription   Statut Membre Dernière intervention   3
 
bonjour mathieu

pour repondre a ta question il n y a pas qu un mot .

ce que j essaye de faire c est comparai un mot inserer dans un formulaire est l'inserer a condition que le mot ne ce trouve pas dans le fichier texte.
0
layeures Messages postés 286 Date d'inscription   Statut Membre Dernière intervention   3
 
re bonjour
j ai tester ton code est ca ne marche pas
$words = file('texte3.txt');
$word = 'ligne7';
if(in_array($words, $word))
// le mot existe
else
// le mot n'existe pas

ca m affiche ce message d'erreur


Warning: Wrong datatype for second argument in call to in_array in c:\program files\easyphp\www\labo modifier fichier\testa.php on line 4
lemot nexite pas
0
Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   922
 
salut,

oui, j'ai inversé les paramètres dans l'appel de fonction.
quand tu as des erreurs sur une fonction en PHP, tu peux directement aller chercher sa définition dans le manuel.
if(in_array($word, $words)) 

mais avant de tester il faut mette du code à la place des commentaires "// le mot existe " et "// le mot n'existe pas ".
si tu ne sais pas encore quoi mettre :
if(in_array($word, $words))
{
	// le mot existe
	echo('le mot existe');
}
else
{
	// le mot n'existe pas
	echo('le mot n\'existe pas');
}
0