Ir para conteúdo
Fórum Script Brasil

Thiago Medeiros

Membros
  • Total de itens

    2
  • Registro em

  • Última visita

Posts postados por Thiago Medeiros

  1. Pessoal, boa tarde!

    Estou analisando o código do Ziviani de lista encadeada. Alguém sabe me explicar o porque da necessidade de se usar o TipoCelula no início da estrutura e no final? Pergunto pois, se eu tiro do início ele da o erro "error: conflicting declaration 'typedef struct TipoCelula TipoCelula" e se eu tiro do final ele funciona perfeitamente. Ainda não conseguir pegar a ideia.

    Alguém poderia me auxiliar?

     

    typedef struct {

      int Chave;

      /* outros componentes */

    } TipoItem;

     

    typedef struct TipoCelula *TipoApontador;

     

    typedef struct TipoCelula {

    TipoItem Item;

    TipoApontador Prox;

    } TipoCelula;

     

    typedef struct {

    TipoApontador Primeiro, Ultimo;

    } TipoLista;

  2. Pessoal, boa tarde!

    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.caixades...a-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 decente no que diz respeito a uma implementação eficaz.

    Alguém pode me dar uma luz?

    Desde já agradeço.

×
×
  • Criar Novo...