Как лучше всего динамически отображать стоковые файлы? - PullRequest
0 голосов
/ 17 февраля 2009

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

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

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

Ответы [ 3 ]

5 голосов
/ 17 февраля 2009

Обычным способом автоматизации повторяющихся задач является использование 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 голосов
/ 17 февраля 2009

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

1 голос
/ 17 февраля 2009

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

...