Файлы отправляются на мой сервер через FTP. Я обрабатываю их с помощью PHP-кода в модуле Drupal. O / S - это Ubuntu, а FTP-сервер - vsftp.
Через регулярные промежутки времени я буду проверять наличие новых файлов, обрабатывать их с помощью SimpleXML и перемещать в папку «Готово». Как избежать обработки частично загруженного файла?
vsftp имеет значение по умолчанию для lock_upload_files, равное yes. Я подумал о том, чтобы сначала попытаться переместить файлы, ожидая, что перемещение не удастся загрузить в данный момент. Похоже, этого не происходит, по крайней мере, в командной строке. Если я начну загружать большой файл и перемещать его, он просто будет расти в новом месте. Я думаю, что запись каталога не заблокирована.
Должен ли я попробовать fopen с режимом 'a' или 'r +', чтобы посмотреть, удастся ли ему это сделать, прежде чем пытаться загрузить в SimpleXML, или есть лучший способ сделать это? Я думаю, я мог бы просто обнаружить сбой загрузки SimpleXML, но ... это выглядит грязно.
У меня нет контроля над отправителем. Они не будут загружать и переименовывать.
Спасибо