使用PHP查找目录中与字符串匹配的所有文件

时间:2013-05-29 11:19:33

标签: php file mongodb

您好我已经在mongodb中存储了一些文件名,并且我将一些文件存储在我的本地目录中,现在我的要求是提取与db中的值匹配的文件的本地路径,它应该与特定字符串不匹配在文件中它应该与complate字符串匹配。你可以建议我怎么做。

示例:sample-php-book.pdf是应与sample-php-book.pdf文件名匹配的数据库值,而不是sample.pdf

我使用了以下代码

<?php
$results = array();
$directory = $_SERVER['DOCUMENT_ROOT'].'/some/path/to/files/';
$handler = opendir($directory);

while ($file = readdir($handler)) {

        if(preg_match('$doc['filename']', $file)) {

            $results[] = $file;
        }
    }
}
?>

$ doc [filename]是db

的值

由于

1 个答案:

答案 0 :(得分:0)

如果我理解你的话比你正在寻找的东西要好:

编辑:我不知何故忘记了分裂使用正则表达式而不是简单的搜索。因此我用爆炸替换了分裂

<?php

// DB-Code here[..]

$arrayWithYourDbStrings; // <-- should conatain all strings you obtained from the db

$filesInDir = scandir('files/');
foreach($filesInDir as $file)
{
    // split at slash
    // $file = split('/', $file); <-- editted
    $file = explode('/', $file);

    // get filename without path
    $file = last($file);

    // check if filename is in array
    if(in_array($file, $arrayWithYourDbStrings))
    {
        // code for match
    }
    else
    {
        // code for no match
    }
}
?>