我试图在多个草堆中搜索一个针(多个文件),然后显示找到针的文件。
一些代码......
$needle = $_POST['needle'];
foreach (glob("files/*.txt") as $file)
{
$file_handle = fopen($file, "r");
while (!feof($file_handle))
{
$haystack = fgets($file_handle);
}
fclose($file_handle);
}
if(stristr($haystack, $needle) === FALSE)
{
echo $needle.' not found in string';
}
else
{
echo 'found'; // --> show directories?
}
答案 0 :(得分:0)
该行
$haystack = fgets($file_handle);
意味着$haystack
将是最后一个文件的最后一行。
这是你的意思吗?
不
$haystack .= fgets($file_handle);
答案 1 :(得分:0)
我会做这样的事情
$needle = $_POST['needle'];
$is_found = FALSE;
foreach (glob("files/*.txt") as $file)
{
$file_handle = fopen($file, "r");
while (!feof($file_handle))
{
$haystack = fgets($file_handle);
if(stristr($haystack, $needle)){
$is_found = TRUE;
break;
}
}
fclose($file_handle);
}
if(!$is_found)
{
echo $needle.' not found in string';
}
else
{
echo 'found'; // --> show directories?
}