将文档与数据库进行比较


Compare document with database

在我的服务器上,我有一个文件夹,名为:old_files在那个文件夹里有几百份文件。

我还有一个数据库,它有一个名为"filename"的列和一个名"transferFlag"的列。

现在我想读出文件夹中的文件,将文件名与"FILENAME"列中的值进行比较,如果它们匹配,则将文件名匹配的"transferFlag"列更新为"NO"。

但我不知道该怎么安排?有人能给我建议吗?

这就是我所想的:

$filename = 'http://www.mysite.com/old_files/';
$inhoud =  file_get_contents($filename);

但是,如何获取文件夹中的所有文件,并将它们与DB中的值逐一进行比较?


好吧,我现在这样做了:

$dir = dirname(__FILE__)."/../files/oud/"; // de directory die hij uit moet lezen
if ($handle = @opendir($dir))
{
while (false !== ($file = @readdir($handle))) {
    $bestand = $dir ."/". $file ;
    $ext = pathinfo($bestand);
                $sql_2 = "UPDATE documenten SET transfer_vlag = ''     WHERE documentnaam = '".$file."'";
                mysql_query($sql_2) or die(mysql_error());      
            }

@closedir($handle);
}

唯一的问题:

目录中大约有1000个文件,所以过了一段时间我就超时了。我能做什么?

使用glob从目录中获取所有文件。。

foreach (glob("*.txt") as $filename) {
   $inhoud =  file_get_contents($filename);
}