在PHP中进行高效的平面文件搜索

Al.*_*Al. 3 php search file

我想在纯文本文件中存储0到~5000个IP地址,顶部有一个不相关的标题.像这样的东西:

Unrelated data
Unrelated data
----SEPARATOR----
1.2.3.4
5.6.7.8
9.1.2.3
Run Code Online (Sandbox Code Playgroud)

现在我想找到使用PHP的文本文件中是否有"5.6.7.8".我只加载了整个文件并在内存中处理它,但我想知道是否有更有效的方法在PHP中搜索文本文件.如果它存在,我只需要一个真/假.

任何人都可以放光吗?或者我会先加载整个文件?

提前致谢!

cle*_*tus 5

5000不是很多记录.你可以轻松地做到这一点:

$addresses = explode("\n", file_get_contents('filename.txt'));
Run Code Online (Sandbox Code Playgroud)

并手动搜索它会很快.

如果您要存储更多内容,我建议将它们存储在数据库中,该数据库专为此类设计而设计.但对于5000,我认为满负荷和强力搜索是好的.

在遇到问题之前不要优化问题.没有必要过分复杂的解决方案.