Alcuni suggerimenti:

- Non usare implode/file, utilizza file_get_contents() o fopen/fread etc.
- La variabile $nomefile e' valorizzata correttamente?
- Il "parametro" filename dell'header Content-Disposition dovrebbe essere racchiuso tra apici.
- La variabile $request e' valorizzata correttamente?
- Invece di leggere il file in memoria, perche' non utilizzi readfile()?