我想在没有MySQL的网站上创建搜索。
我有一个代码,但它只搜索一个文件
$query = $_GET["q"];
include "date-list.php";
$filename = "news/". $news ."/lang.php";
$searchfor = "$query";
$file = file_get_contents($filename);
if(strpos($file, $searchfor))
{
echo "News found found";
}
感谢您的帮助。
答案 0 :(得分:1)
但它只搜索一个文件
只需遍历所有文件。
将其包装到一个函数中,因此您不需要循环到所有文件。
function wordFoundOnLangFiles($filename, $query) {
$filename = "news/". $filename."/lang.php";
$searchfor = "$query";
$file = file_get_contents($filename);
return strpos($file, $searchfor !== false) ? true : false;
}
创建一个包含现有lang文件夹名称的数组,例如
$lang = ['en', 'de', 'ru', 'ja', 'ko',];
如果这些文件夹是动态创建的,您可以使用glob
或使用类DirectoryIterator
的文件夹。
开始循环
function wordFoundOnLangFiles($filename, $query) {
$filename = "news/". $filename."/lang.php";
$searchfor = "$query";
$file = file_get_contents($filename);
return strpos($file, $searchfor !== false) ? true : false;
}
$lang = ['en', 'de', 'ru', 'ja', 'ko',];
foreach ($lang as $folder) {
if (wordFoundOnLangFiles($folder, $query)) {
echo "Word found";
}
}