Я видел больше вопросов по этому поводу в stackoverflow, но не смог найти ответ, который решил мою конкретную проблему. Проблема заключалась в том, что Zend-форма не могла проверить, был ли загруженный файл изображением, и как только он начал обрабатывать форму, тип файла изменится на applicationoctet-stream , независимо от того, какой тип файла был загружен.
Хитрость была в том, чтобы настроить php.ini, найти его и раскомментировать: extension = php_fileinfo.dll.
Тем не менее, мне интересно, для чего zend_form нужна эта fileinfo, глобальная переменная $ _FILES работает без fileinfo.