我的网站上有一个简单的表单输入框,用户输入一个4位数的代码到&提交。我需要该代码来匹配文本文件中的代码列表。如果没有,它只会返回一个错误。如果是这样,它将执行另一个功能。使用PHP。
我在努力研究如何与该文本文件进行比较,对我来说似乎很简单......
我感谢你的所有帮助,从SO中学到了很多东西。
伊恩
答案 0 :(得分:3)
由于您尚未提供文件或PHP代码示例,因此请提交以下内容:
考虑data.txt
包含且.csv
文件中没有逗号,这将有效。
1111
1112
1113
PHP
<?php
$search = "1111";
$file = "data.txt";
if (preg_match('/^' . $search . '$/m', file_get_contents($file))) {
echo "$file DOES contains $search\n";
} else {
echo "$file does NOT contain $search\n";
}
这是另一种可以使用或不使用逗号分隔文件的方法:
1111,
1112,
1113,
PHP
<?php
$search = "1111";
$file = fopen("data.txt", "r") or die("Cannot open file!\n");
while ($line = fgets($file, 1024)) {
//if (preg_match("/\b1111\b/i", $line)) {
if (preg_match("/\b$search\b/i", $line)) {
echo "<b>Found match: " . $line . "</b>";
} else {
echo "No match: " . $line;
}
}
fclose($file);