Fala galera!
Estou tendo um empecilho. Fiz um sistema que gera um arquivo HTML para meu cliente baixar e utilizar como bem preferir.
No meu ambiente local funciona perfeitamente. Porém, quando utilizo no servidor de produção, não dá erro nem nada, o download inicia mas nunca termina (Fica em Iniciando e nunca baixa).
O código é simples. Seguem alguns esclarecimentos:
- Incluo as classes de conexão ao banco de dados já no primeiro include.
- o Include.php contém funções básicas a todo o sistema.
- objRegistro traz o template do banco de dados.
- Se eu comento a linha header("Content-Disposition: attachment; filename=".$filename); ele funciona diretamente na tela, mas não baixa o arquivo.
- Setei permissões (tanto para o arquivo que gera o HTML - este abaixo - quanto a pasta que recebe o arquivo) 777 para diretórios e arquivos.
<?php include_once($_SERVER['DOCUMENT_ROOT']."/common/function/class.php"); include_once($_SERVER['DOCUMENT_ROOT']."/common/function/include.php"); $objRegistro = new Template(); $objRegistro->Excluido('N'); $objRegistro->ID($_GET['id']); $objRegistro->retornar(); $filename = "../../upload/arquivoHTML/html".date("dmYHis").".html"; $texto = $objRegistro->Conteudo(); $fp = fopen($filename , "w"); $fw = fwrite($fp, $texto); if($fw == strlen($texto)){ header("Content-Type: text/html"); header("Content-Length: ".filesize($filename)."\n\n"); header("Content-Disposition: attachment; filename=".$filename); echo file_get_contents($filename); } else { alert('Falha ao gerar arquivo'); } ?>