好吧,假设您有一个文件名“search.txt”,该文件的内容是:
1223
1245
3389
4489
...
当你在index.php并搜索“1223”时,它将返回TRUE,但是如果你搜索“12”(由于第一行和第二行包含,它会返回2次“12”),它会返回FALSE,因为它并不完全匹配整行。
这是我到目前为止所做的,但它不起作用:
$uid = $_POST['uid'];
$searchfile = file_get_contents('search.txt');
if (preg_quote($searchfile, $uid) === false)
{
echo "NO";
}
else
{
echo "YES";
}
感谢您的回复!
答案 0 :(得分:2)
不完全确定数字是按行还是按空格分隔,但如果是换行符,那么下面的一行应该有效:
if(array_search($uid, file('search.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES)) === false) {
echo 'no';
} else {
echo 'yes';
}
答案 1 :(得分:0)
如果文件不太大,您可以使用file()
函数遍历每一行:
$lines = file('search.txt');
$uid = $_POST['uid'];
$found = false;
foreach ($lines as $line){
if ($line == $uid)
$found = true;
}
if ($found)
echo 'YES';
else
echo 'NO';