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?
.