这是file1.php:
<?php
// Start the session
session_start();
?>
<?php
$path_to_check = '';
$needle = $_POST['query'];
foreach(glob($path_to_check . '*.xml') as $filename)
{
foreach(file($filename)as $fl)
{
if(strpos($fl, $needle)!==false)
{
$_SESSION["hit"] = $filename;
}
}
}
header('Location: file2.php');
?>
搜索正在进行,并将搜索词所在文件的名称作为变量$_SESSION["hit"]=$filename返回;
但是,如果在多个文件中找到搜索词,它将不起作用。然后我需要转到另一个页面file1b.php(或file1b.html),在那里会列出多个文件。然后从那里选择进入file2.php.
怎么能做到呢?
使$_SESSION['hit']
成为所有匹配文件名的数组。
$_SESSION['hit'] = array();
foreach(glob($path_to_check . '*.xml') as $filename)
{
foreach(file($filename)as $fl)
{
if(strpos($fl, $needle)!==false)
{
$_SESSION["hit"][] = $filename;
break;
}
}
}
然后,您可以使用一个简单的循环打印文件名。
foreach ($_SESSION['hit'] as $filename) {
echo $filename . "<br>";
}