0

こんにちは、mongodb にいくつかのファイル名を保存し、ローカル ディレクトリにいくつかのファイルを保存しました。現在、私の要件は、db の値に正確に一致するファイルのローカル パスを抽出することです。ファイル内の特定の文字列と一致してはなりません。 Complate 文字列と一致する必要があります。これを行う方法を教えてください。

例:は、ファイル名sample-php-book.pdfと一致する必要がある db 値です。sample-php-book.pdfsample.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 からの値です

ありがとう

4

1 に答える 1

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
    }
}
?>
于 2013-05-29T11:30:35.800 に答える