在没有MySQL的情况下搜索我的网站

时间:2016-07-05 11:08:36

标签: php html search

我想在没有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";
}

感谢您的帮助。

1 个答案:

答案 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";
    }
}