Forçar download de um arquivo .PRN
Pessoal, boa noite!
Estou trabalhando em um sistema web onde no servidor existe um diretório com dezenas de arquivos .PRN
Depois de algumas combinações de informações preciso fazer o download de um arquivo .PRN especíco. Porém, ao fazer isso o conteúdo do arquivo está vindo todo modificado. Na verdade está vindo um conteúdo CSS.
Abaixo segue o trecho do meu código:
$aquivoNome = $res["nome_pedido"].".PRN";
// Verifica se o arquivo não existe
if (!file_exists($aquivoNome)) {
// Exiba uma mensagem de erro caso ele não exista
exit;
}
// Configuramos os headers que serão enviados para o browser
header('Content-Description: File Transfer');
header('Content-Disposition: attachment; filename="'.$aquivoNome.'"');
header('Content-Type: application/postscript');
header('Content-Type: application/force-download');
header("Content-Type: application/download");
header('Content-Transfer-Encoding: binary');
header('Content-Length: '.filesize($aquivoNome));
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Expires: 0');
// Envia o arquivo para o cliente
readfile($aquivoNome);
Abaixo segue o conteúdo original do .PRN:
--------------------------------------------------
N
Q200,24
q504
N
Q200,24
q504
A85,10,0,3,2,1,N,"026000000502"
B120,40,0,2,2,5,92,N,"026000000502"
A85,137,0,2,1,1,N,"Thalissa Rocha"
A100,125,3,1,1,1,N,"EXT"
A80,125,3,2,1,1,N,"USL"
A80,50,3,2,1,1,N,"99"
A62,155,3,3,1,1,N,"18/03/2014"
A380,155,3,2,1,1,N,"FRASCO"
A400,155,3,2,1,1,N,"URINA"
A420,155,3,2,1,1,N,"02600018-006"
P1
N
Q200,24
q504
A85,10,0,3,2,1,N,"026000000501"
B120,40,0,2,2,5,92,N,"026000000501"
A85,137,0,2,1,1,N,"Thalissa Rocha"
A100,125,3,1,1,1,N,"EXT"
A80,125,3,2,1,1,N,"USL"
A80,50,3,2,1,1,N,"99"
A62,155,3,3,1,1,N,"18/03/2014"
A380,155,3,2,1,1,N,"SORCO1"
A400,155,3,2,1,1,N,"SANGUE"
A420,155,3,2,1,1,N,"02600018-006"
P1
--------------------------------------------------
Ao terminar o download o conteúdo do arquivo é o seguinte:
--------------------------------------------------
<style>
/ MENSAGENS /
.msg_alerta {
background-image: url("funcao/mensagem/msg_alerta.gif");
background-repeat: no-repeat;
background-position: 15px center;
background-color: #FFFF7F;
border: 1px solid #B6B60C;
color: #B6B60C;
font-family: helvetica;
font-size: 12px;
font-weight: bold;
margin: 15px;
padding-left: 50px;
padding-top: 5px;
padding-bottom: 5px;
text-align: left;
width: 70%;
}
.msg_erro {
background-image: url("funcao/mensagem/msg_erro.gif");
background-repeat: no-repeat;
background-position: 15px center;
background-color: #FFD4D4;
border: 1px solid #D60202;
color: #D60202;
font-family: helvetica;
--------------------------------------------------
Continuando... Fiz uma pesquisa na internet e encontrei a lista de possíveis extenções suportadas pelo php para fazer o download de um arquivo:
http://blog.caixadesolucoes.com.br/post/lista-de-mime-types
Sei que uma alternativa seria ler o conteúdo do PRN do servidor e gerar um novo arquivo para download, mas isso não é nada descente no que diz respeito a uma implementação eficaz.
Alguém pode me dar uma luz?
Desde já agradeço.
Discussão (9)
Carregando comentários...