El problema no es de PHP en si, si no de protecciones de seguridad del navegador, ¿Esto que significa?, que por protección no puedes asignarle un valor a un campo file.
Imagina que alguien pone este codigo:
Código:
mi_file.value = "/archivo/con/informacion/sensible.txt"
formulario.submit();
Podrían subir archivos de la PC del cliente sin ellos saber, así que por protección, no puedes establecer el valor.
Saludos.