Php aidez moi si vous plait
Résolu
layeures
Messages postés
310
Statut
Membre
-
nEm3sis Messages postés 722 Statut Membre -
nEm3sis Messages postés 722 Statut Membre -
Bonjour,
voici le code qui ne marche pas
$words = file('texte3.txt');
$word = 'ligne7';
if(in_array($words, $word)){
echo "le mot exite";
}
else{
//
echo "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
voici le code qui ne marche pas
$words = file('texte3.txt');
$word = 'ligne7';
if(in_array($words, $word)){
echo "le mot exite";
}
else{
//
echo "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
Configuration: Windows XP Internet Explorer 7.0
26 réponses
- 1
- 2
Suivant
-
Salut, pourquoi utiliser un in_array ? Utilise plutôt preg_match, si c'est juste pour de l'analyse dans une chaine c'est plus simple a mettre en place.
<?php $filename = "texte3.txt"; $handle = fopen($filename, "rb"); $words = fread($handle, filesize($filename)); fclose($handle); $word = '/ligne5/'; if(preg_match($word, $words)){ echo "le mot existe"; } else{ echo "le mot n existe pas"; } ?>
fread() permet de stocker un fichier dans une variable. Ça évite de mettre WHILE($ligne = fget()). -
un tres tres tres tres tres tres tres grand merci de votre aide
le code qui marche est
<?php
$words = file_get_contents("texte3.txt");
$word = 'ligne4';
if( strpos($words, $word) !== false ){
echo "le mot existe";
}else{
echo "le mot n'existe pas";
}
?>
le probleme venai aussi du serveur qui est esayphp 1.6 j ai tester le code sur esayphp3 est ca a marcher
merci mille foie -
Bonjour tout est expliquer dans la doc sur comment utiliser in_array
http://fr3.php.net/manual/fr/function.in-array.php
regarde bien le type des paramètre c'est la que tu t'es planté, en inversant les 2 -
aissaie:
<?php $fichier=fopen("texte3.txt","r"); while($ligne=fgets($fichier)); { words[]=ligne; } fclose($fichier); $word = 'ligne7'; if(in_array($words, $word)){ echo "le mot exite"; } else{ // echo "le mot n existe pas"; } -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
est ce la même erreur ?
-
c'est bon j'ai trouvé il faut que tu inverse $words et $word dans ta fonction in_array
-
<?php
$fichier=fopen("texte3.txt","r");
while($ligne=fgets($fichier));
{
$words=$ligne;
}
fclose($fichier);
$word = 'ligne3';
if(in_array($words, $word)){
echo "le mot exite";
}
else{
//
echo "le mot n existe pas";
}
?>
LE CODE NE MARCHE PAS
IL AFFFICHE
Warning: Wrong datatype for second argument in call to in_array in c:\program files\easyphp\www\labo modifier fichier\testa.php on line 10
le mot n existe pas
NORMALEMENT IL DEVRAIT AFFICHER LE MOT EXISTE -
<?php
$fichier=fopen("texte3.txt","r");
while($ligne=fgets($fichier));
{
$words=$ligne;
}
fclose($fichier);
$word = 'ligne3';
if(in_array($word, $words)){
echo "le mot exite";
}
else{
//
echo "le mot n existe pas";
}
?> -
j ai inverse words et word est ca ne m affiche plus de message d erreur mes ca m affiche a l ecran
le mot n exite pas alors que ligne5 ce trouve dans le fichier texte
d ou vient le probleme
<?php
$fichier=fopen("texte3.txt","r");
while($ligne=fgets($fichier));
{
$words[]=ligne;
}
fclose($fichier);
$word = 'ligne5';
if(in_array($word, $words)){
echo "le mot exite";
}
else{
//
echo "le mot n existe pas";
}
?> -
on notera que mon script marchait parfaitement sans compter les 2 $ que j'avais oublié je me damande pourquoi tu a enlevé les 2 crochets à words[].
-
testé sous easy php 3.0
<?php $fichier=fopen("texte3.txt","r"); while($ligne=fgets($fichier)); { $words[]=$ligne; } fclose($fichier); $word = 'ligne3'; if(in_array($word, $words)){ echo "le mot exite"; } else{ echo "le mot n existe pas"; } ?> -
de toute façon le code ne générait pas d'erreur mais ne fonctionnait pas -_-
celui la marche vraiment :<?php $words=file("texte3.txt"); $word = 'ligne3'; if(in_array($word, $words)){ echo "le mot exite"; } else{ echo "le mot n existe pas"; } ?> -
:o je viens de me rendre compte que avec in_array ça marche pas en fait sauf si le mot cherché est une ligne complète du fichier
voici encore une autre version
<?php $words = file_get_contents('texte3.txt'); $word = 'ligne7'; if( strpos($words, $word) !== false ){ echo "le mot existe"; }else{ echo "le mot n'existe pas"; } ?> -
j ai tester ce code est ca ne marche pas
<?php
$words=file("texte3.txt");
$word = 'ligne3';
if(in_array($word, $words)){
echo "le mot exite";
}
else{
echo "le mot n existe pas";
}
?> -
encore plus simple :
<?php
$words = file_get_contents('texte3.txt');
$word = 'ligne7';
if(ereg($word,$words)){
echo "le mot existe";
}else{
echo "le mot n'existe pas";
}
?> -
re bonjour
je voudrai savoir maintenant comment je peu faire pour que le code ecrit a la fin du fichier si le mot ne ce trouve pas dans le fichier
merci d'avance de votre aide -
tu ajoute :
else
{
fopen("texte3.txt","a");
fputs($word);
}
-
re bonjour
<?php
$words = file_get_contents("texte3.txt");
$word = 'ligne4';
if( strpos($words, $word) !== false ){
echo "le mot existe";
}else{
echo "le mot n'existe pas";
fopen("texte3.txt","a");
fputs($word);
}
?>
le probleme avec ce code si qui m affiche un message d'erreur genre :
Warning: file_get_contents(texte3.txt): failed to open stream: No such file or directory in c:\program files\easyphp1-8\www\nouveau dossier (3)\testa.php on line 3
le mot n'existe pas
Warning: Wrong parameter count for fputs() in c:\program files\easyphp1-8\www\nouveau dossier (3)\testa.php on line 10
est aussi il y a un autre probleme c est qu il cree un autre fichier vide. -
ben d'après lerreur le fichier texte3.txt n'esxiste pas
-
Warning: file_get_contents(texte3.txt): failed to open stream: No such file or directory in c:\program files\easyphp1-8\www\nouveau dossier (3)\testa.php on line 3
pour éviter ça rajoute un test avec file_exists
Warning: Wrong parameter count for fputs() in c:\program files\easyphp1-8\www\nouveau dossier (3)\testa.php on line 10
tu as oublié de regarder comment on utilise fputs ... -> https://www.php.net/manual/fr/function.fputs.php
- 1
- 2
Suivant