通过(类似)名称PHP查找文件

时间:2015-08-17 22:49:10

标签: php file search glob

我有一个包含歌曲的文件夹,文件名是:"歌手 - 歌曲"

我有一个名为的文件:"示例 - 测试歌曲"

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

" Eample - 一首测试歌曲"

"示例 - 测试歌曲"

" eximple - 一首teste歌曲"

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

2 个答案:

答案 0 :(得分:2)

我使用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以满足您的需求。

答案 1 :(得分:0)

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

当我创作我的时候,我使用了w3,它运行得非常好。

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