如何动态显示库存文件?

时间:2009-02-17 09:31:03

标签: php ftp cron

我正在为PHP / MySQL的客户端开发网站。他们是出版商,该网站需要显示您正在查看的图书是否与其经销商有关。

库存文件是分销商FTP上的CSV文件。此文件每晚在特定时间更新。到目前为止,我已经用PHP编写了一个脚本,它将文件的内容复制到Web服务器。然后我将从中获取库存信息并将其粘贴在MySQL书籍数据库中。

有没有办法让文件传输PHP脚本每天只运行一次,在分发器的FTP上更新文件后?这是最好的方法吗?

3 个答案:

答案 0 :(得分:5)

自动执行重复任务的传统方法是使用 cron 。您可以使用crontab -e从命令行编辑cron配置。该文件遵循以下格式:

# .---------------- minute (0 - 59) 
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ... 
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7)  OR sun,mon,tue,wed,thu,fri,sat 
# |  |  |  |  |
  *  *  *  *  *  command to be executed

答案 1 :(得分:2)

如果您使用的是Windows服务器,则需要使用计划任务;如果使用的是unix,则需要使用cronjob。以下是使用cron的一些信息: http://www.clockwatchers.com/cron_main.html http://www.clickmojo.com/code/cron-tutorial.html 和win任务调度程序: http://www.iopus.com/guides/winscheduler.htm

答案 2 :(得分:1)

处理这种情况的最佳方式是如上所述的cronjob,一年前我有类似的困境,但唯一的区别是我不知道文件什么时候进来以及有多少。我创建了一个监控ftp上传文件夹的php脚本,每隔10分钟就会调用一次rand,当每个文件都进来时,它会被处理(读取和数据存储在数据库中),之后我会将它移动到另一个名为processed的文件夹中如果没有成功读取文件,则另一个称为失败。我希望这有帮助 - 我以为我会分享。