Потому что когда значение `value=''` есть два варианта: 1) файл не установлен 2) файл установлен но не загружен

Не хочется сейчас полностью описывать в чем сложность, но поверьте на слово я пытался без счетчика, было очень плохо.

Если хотите уберите счетчик сами :)