按(相似)名称查找文件 PHP

Find file by (similar) name PHP

我有一个存放歌曲的文件夹,文件名是:"Singer - Song"

我有一个同名的文件:"Example - A test song"

我想在搜索时找到该文件:

"Eample - A test song"

"Example - test song"

"eximple - A teste song"

即使搜索名称有一些错误,我也想找到那个文件。 我该怎么做?

有很多方法可以做到这一点...假设您希望在键入时弹出歌曲名称,我会说您需要一个实时搜索功能。

我在创建我的程序时使用了 w3,它运行得非常好。

http://www.w3schools.com/php/php_ajax_livesearch.asp

我使用 PHP 的 similar_text 函数编写了一个简短的脚本。它适用于上面写的所有字符串。

<?php
$dir = $_SERVER['DOCUMENT_ROOT'];
$needle = "eximple - A teste song";

if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
        while (($file = readdir($dh)) !== false) {
            similar_text($file, $needle, $percent);
            if($percent > 80)
                echo $file  . " similarity: " . $percent . "<br />";
        }
        closedir($dh);
    }
}

说明:该函数计算两个字符串 $file$needle 匹配的程度(百分比)。如果它们匹配超过 80%,则回显文件名。请随意调整 $needle$dir 以满足您的需要。