使用PHP搜索新添加文件的服务器

时间:2011-07-13 16:12:15

标签: php cron

我正在尝试在php中编写一个cronjob来搜索服务器以查找新上传的文件。每天晚上服务器都会添加一个csv文件,该文件必须被拉到我的本地服务器,然后插入到我的数据库中。我可以读取csv文件,将其插入数据库,以及我的所有其他内容,除了弄清楚如何每晚扫描目录中的新文件。有没有人对此有任何一般性建议?

3 个答案:

答案 0 :(得分:1)

算法:

  1. 扫描目录,按日期订购文件,并记录最新文件的日期
  2. 在后续扫描中,将最新文件的日期与记录日期进行比较
  3. 如果日期较新,则上传新文件。

答案 1 :(得分:1)

虽然你可以在技术上用裸PHP做,但我会选择find命令:

$files = explode("\0",`find /path/to/dir -mtime -1 -iname '*.csv' -print0`);

答案 2 :(得分:0)

使用scandir创建一个包含所有文件的数组$allFiles。创建另一个包含目录中所有现有文件的数组$oldFiles。之后,执行array_diff($allFiles, oldFiles)将生成一个仅包含新文件的数组。