Je rencontre une chose étrange avec la structure PHP Stros (). J'ai une fonction qui vérifie si une chaîne passée est trouvée dans un fichier TXT. Je peux afficher le contenu de la ligne de fichier par ligne, mais la Stros () ne renvoie pas une valeur (rien en fait). var_dump () du retour vide.
Quelqu'un peut-il voir une erreur, parce que je suis perdu. Merci d'avance. P>
Ma fonction: p>
5 Réponses :
Essayez de changer $ trouvé = Strows ($ Fichier, $ string); code> à
$ trouvé = Stros ($ ligne, $ stress); Code> p>
écho à un faux booléen ne s'affichera pas. Essayez de le changer en un var_dump code> et vous verrez qu'il s'agit d'un
booléen code> défini sur
false code>. P>.
Désolé, j'ai commis une erreur lorsque vous écrivez le code, c'est le bon:
function checkIfExist($string) { $path = "\\\\server\\temp\\test.txt"; $file = file($path); foreach( $file as $line ) { echo $line; //display the string in this line $found = strpos($line,$string); echo $found; //display nothing, not even a boolean/int var_dump($found); //display boolena(false) for all the test even if the string is well present once. } return $found; }
Ce code donne le même résultat
foreach( $file as $line ) { echo $line; //display "www.google.be" echo $string; //also display "www.google.be" //but when I then if the line contain the string, the function doesn't find it!!! $pos = stripos($line,$hostname); var_dump($pos); // FALSE for all the test }
Débogage de configuration, vous voyez donc les valeurs de Strows. Si le débogage ne peut pas être arrangé que Vardump $ Line et $ String. Vous obtiendrez probablement des valeurs inattendues. Essayez également d'éviter les problèmes de tableur. Peut-être que cela fonctionnera mieux.
On dirait que vous recherchez la chaîne dans tout le contenu du fichier plutôt que dans chaque ligne. Selon le contenu de
$ string code> et le fichier que vous ne recevez peut-être pas une correspondance.