Un dedo arriba

a tú código

...
Asegurate de tener permisos de escritura en la carpeta download y que esta exista dentro de la carpeta donde se ejecuta tu archivo...
¿Dónde estás haciendo estas pruebas?; en local, un hosting gratuito, de pago... bajo LINUX?

.