0

我正在为客户开发一个网站,使用 PHP/MySQL。他们是出版商,网站需要显示您正在查看的书是否在他们的分销商处有库存。

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

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

4

3 回答 3

5

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

# .---------------- 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
于 2009-02-17T09:48:59.120 回答
2

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

于 2009-02-17T09:53:24.087 回答
1

处理这种情况的最佳方法是上面提到的 cronjob,一年前我也遇到过类似的困境,但唯一的区别是我不知道文件何时进入以及有多少。我创建了一个 php 脚本,它监视 ftp 上传文件夹,每 10 分钟运行一次,当每个文件进入时,它都会被处理(读取并存储在数据库中的数据),然后我会将它移动到另一个文件夹,称为处理如果没有成功读取文件,另一个调用失败。我希望这会有所帮助——我只是想我会分享。

于 2009-02-17T11:57:23.727 回答