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