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