Я пытаюсь найти входной контент (электронная почта) в текстовом файле.
Пока что режим работает очень хорошо, если значения верны, в противном случае он, кажется, переходит в состояние. Позволь мне объяснить:
У меня есть переменная $email
содержимое возможного электронного письма, затем текстовый файл, содержащий все электронные письма, разделенные таким разделителем, как:
email; email; etc ...
на данный момент с strpos();
Я проверяю, найден ли параметр в файле, и это работает, может быть, слишком много.
В частности, если я вставлю электронное письмо, которого нет в файле, код вернется к сообщению «электронное письмо найдено», даже если оно не было найдено!
Почему это происходит?
$email = "[email protected]";
$file = file_get_contents("utenti.txt"); //get file contents
if(null != strpos($file, $email))
{
echo "email found";
}else{
echo "email was not found!";
}
Изменить:
if(null != strpos($file, $email))
чтобы:
if(false !== strpos($file, $email))
Это потому что StrPos может быть ноль, поэтому вам нужно проверить на ложь.
Я также хотел бы увидеть комментарий Фреда по этому вопросу. Он делает очень хорошую мысль.
Других решений пока нет …