2009-02-17 4 views
0

Я работаю над сайтом для клиента, в PHP/MySQL. Они являются издателями, и сайт должен показать, есть ли у вас книга, на которую вы смотрите, с их дистрибьютором.Как наилучшим образом отображать файл запаса динамически?

Файл запаса является CSV-файлом на FTP-сервере дистрибьютора. Этот файл обновляется в определенное время каждый вечер. До сих пор я написал скрипт на PHP, который копирует содержимое файла на веб-сервер. Затем я получу информацию о запасе и привяжу ее к базе данных MySQL.

Есть ли способ сделать PHP-скрипт для передачи файлов только один раз в день после обновления файла на FTP-сервере дистрибьютора? Это лучший способ сделать это?

ответ

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 
2

вам нужно будет использовать запланированное задание, если вы используете Windows Server, или cronjob, если вы на UNIX. Вот некоторая информация об использовании хрон: http://www.clockwatchers.com/cron_main.html http://www.clickmojo.com/code/cron-tutorial.html и выиграть планировщик задач: http://www.iopus.com/guides/winscheduler.htm

1

Лучший способ для решения такого сценария будет cronjob, как упоминалось выше, у меня была подобная затруднительное год назад но единственное различие заключалось в том, что я не знал, когда этот файл войдет и сколько. Я создал php-скрипт, который отслеживал папку загрузки ftp и какой rand каждые 10 минут и когда каждый файл приходил в нее, обрабатывался (чтение и данные, хранящиеся в базе данных), и после этого я переместил бы его в другую папку, называемую обработанной а другой вызвал ошибку, если он не успел прочитать файл. Надеюсь, это поможет - я просто подумал, что поделюсь.

Смежные вопросы