primero decirte, por si no lo sabes, que
file api es html5 y como tal unos navegadores la acepta otros no.
si quieres que sea
cross-browser has de usar un iframe
una vez dicho esto, el problema ha de ser que le estás pasando un string
así intentas recogerlo $ _FILES y estás enviando f.name