Arquivo corrompido ao realizar download [RESOLVIDO]

Continuando a discussão do Direcionar automaticamente um download ** Resolvido **:

Visando o seguinte tópico:

Autor George Carvalho (@gcarvalho)

realizei a implementação do código dele publicado no mesmo e realmente funciona tudo certinho.
Porém os arquivos fazem o download mas ao abrí-los constam corrompidos.
Há algo errado no código abaixo extraído do tópico:

//DOWNLOAD DO ARQUIVO
$dir = $this->Ini->path_doc;
$dir = $dir.’/remessas’;
$arquivo = $dir.’/’.[vnome_arq];

header(“Content-Type: application/octetstream”);
header(“Content-Disposition: attachment; filename=” . basename($arquivo));
header(“Pragma: no-cache”);
header(“Expires: 0”);
header("Content-Length: " . filesize($arquivo));

readfile($arquivo);

Exemplo de um arquivo excel corrompido:

Resolvi utilizando a seguinte função:

//DOWNLOAD DO ARQUIVO
$dir = $this->Ini->path_doc;
$dir = $dir.’/remessas’;
$arquivo = $dir.’/’.[vnome_arq];

ob_clean(); //Atribuindo essa função em pesquisa na internet, aparentemente resolveu.

header(“Content-Type: application/octetstream”);
header(“Content-Disposition: attachment; filename=” . basename($arquivo));
header(“Pragma: no-cache”);
header(“Expires: 0”);
header("Content-Length: " . filesize($arquivo));

readfile($arquivo);

1 Curtida