在PHP中搜索文件中的字符串

6
我正在寻找一个函数,它可以计算文件中某个字符串出现的次数。我尝试使用 $count = preg_match_all("/String/", $file, $matches); 但是它返回了 Warning: preg_match_all() expects parameter 2 to be string, resource given 的警告。是否有任何函数可以让我在文件中完成这个操作,而不是在字符串中,或者是否有任何方法可以将文件分配给字符串(我假设后者会慢得多)?

1
你需要将一个字符串值传递给第二个参数。也许你可以使用 file_get_contents($filename) 来作为该参数的值。 - user142162
2个回答

12

是的:

file_get_contents() — 读取整个文件到一个字符串中

http://php.net/manual/zh/function.file-get-contents.php

所以对于你来说,它将是这样的:

$file = file_get_contents(PATH_TO_FILE);
$count = preg_match_all("/String/", $file, $matches);

我猜你可能误用了fopen函数?


是的,我一直在使用fopen,但file_get_contents恰好是我所需要的。谢谢。 - John

9

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接