php - 通过(相似)名称查找文件 PHP

标签 php file search glob

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

我有一个具有以下名称的文件:“示例 - 测试歌曲”

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

“Eample - 一首测试歌曲”

“示例 - 测试歌曲”

“示例 - 一首测试歌曲”

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

最佳答案

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

关于php - 通过(相似)名称查找文件 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32060933/

相关文章:

php - SQL:GROUP BY 记录,然后从每个组中获取最后一条记录?

php - 防止 PyroCMS 从所见即所得内容中剥离内联样式?

php - PHP 5 的自动加载效率低下吗?

php - 表情替换 - PHP

c - 从文件中读取 2 个字节并转换为 int 会给出错误的输出

c - 使用缓冲区大小有限的 posix 读取

java - 如何在其余服务中接收以八位字节流类型发送的图像?

search - 我可以保护短单词免受 Solr 中 n-gram 过滤器的影响吗?

c - c中的二分查找-必须找出键的所有数组位置

javascript - 实时搜索本地存储(在数组中搜索)