Ir para o conteúdo
toarelli

Visualizar arquivos PDF

Mensagens Recomendadas

toarelli

Caros amigos.

Recorro a ajuda dos amigos, com muita humildade.

Estou fazendo uma rotina em PHP, onde após o usuário abrir uma lista de ARQUIVOS efetuado UPLOAD, possa ser visualizado na tela. <== até aqui tudo bem.

O problema é o seguinte:

Após escolher um arquivo de sua preferência, o sistema possa abrir o arquivo.

O código abaixo, faz a visualização, mas tenho de informar manualmente, o que não quero.

    //O código abaixo Visualiza, mas infelizmente, tenho que informar manualmente o caminho
    $file = 'upload/arquivo.pdf' ;
	$filename = 'arquivo.pdf';
	
	header('Content-type: application/pdf');
	header('Content-Disposition: inline; filename="' .$filename. '"');
	header('Content-Transfer-Encoding; binary');
	header('Accept-Ranges; bytes');
	readfile($file);

 

Gostaria que após selecionar um arquivo, o Sistema sozinho possa passar a Variável e o sistema possa localizar na pasta e abrir na tela.

Por favor amigos, como consigo efetuar e realizar essa rotina ?

Grato,

Toarelli

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
toarelli

Caros amigos.

Por favor, alguém pode me ajudar nesse problema.

Está me deixando doido.

Grato.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
toarelli
Em 15/04/2018 às 12:03, toarelli disse:

Caros amigos.

Recorro a ajuda dos amigos, com muita humildade.

Estou fazendo uma rotina em PHP, onde após o usuário abrir uma lista de ARQUIVOS efetuado UPLOAD, possa ser visualizado na tela. <== até aqui tudo bem.

O problema é o seguinte:

Após escolher um arquivo de sua preferência, o sistema possa abrir o arquivo.

O código abaixo, faz a visualização, mas tenho de informar manualmente, o que não quero.


    //O código abaixo Visualiza, mas infelizmente, tenho que informar manualmente o caminho
    $file = 'upload/arquivo.pdf' ;
	$filename = 'arquivo.pdf';
	
	header('Content-type: application/pdf');
	header('Content-Disposition: inline; filename="' .$filename. '"');
	header('Content-Transfer-Encoding; binary');
	header('Accept-Ranges; bytes');
	readfile($file);

 

Gostaria que após selecionar um arquivo, o Sistema sozinho possa passar a Variável e o sistema possa localizar na pasta e abrir na tela.

Por favor amigos, como consigo efetuar e realizar essa rotina ?

Grato,

Toarelli

 

Caros amigos, tentei fazer assim mas não consegui.

<?php 

       include"../Connections/config.php";

       //Variáveis Passada por Método POST
       $idDoclieGet = isset($_GET['idDoclie']) ? $_GET['idDoclie'] : false;
       $idDoclie = isset($_POST['idDoclie']) ? $_POST['idDoclie'] : $idDoclieGet;

       $pastaDoclieGet = isset($_GET['pastaDoclie']) ? $_GET['pastaDoclie'] : false;
       $pastaDoclie = isset($_POST['pastaDoclie']) ? $_POST['pastaDoclie'] : $pastaDoclieGet; 


      //Busca no Banco de Dados
      $sql_pegaDocto = 'SELECT * FROM docCliente WHERE idDoclie = :idDoclie AND pastaDoclie = :pastaDoclie';
      
      try{
        $query_pegaDoctos = $conecta->prepare($sql_pegaDocto);
        $query_pegaDoctos->bindValue(':idDoclie',$idDoclie,PDO::PARAM_STR);
        $query_pegaDoctos->bindValue(':pastaDoclie',$pastaDoclie,PDO::PARAM_STR);        
        $query_pegaDoctos->execute();
        
        $res_queryPegaDocto = $query_pegaDoctos->fetchAll(PDO::FETCH_ASSOC);
        
        }catch(PDOexcetpion $error_docto){
          echo 'Erro ao seleciona o documento!';  
        }
        
        foreach($res_queryPegaDocto as $resDocto){
              $idDoclie    = $resDocto['idDoclie'];
              $pastaDoclie = $resDocto['pastaDoclie'];
        } 

            header('content-type: application/pdf');
            readfile('docClie/'.$resDocto['pastaDoclie']);
  
 /*

  //Visualizar o documento na tela
    $file = 'docClie/"'.$pastaDoclie.'"' ;
	$filename = $pastaDoclie;
	
	header('Content-type: application/pdf');
	header('Content-Disposition: inline; filename="' .$filename. '"');
	header('Content-Transfer-Encoding; binary');
	header('Accept-Ranges; bytes');
	readfile($file);
*/


?>

 

 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
devgoncalo

tens que fazer debug para perceber o que está mal...

o resultado da query à bd está correto?

fazes foreach($res_queryPegaDocto

mas depois usas o $resDocto['pastaDoclie'] fora do ciclo... deves usar a variavel $pastaDoclie

o caminho para o ficheiro está correto?

nao podes fazer $file = 'docClie/"'.$pastaDoclie.'"' ; tem aspas a mais

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
toarelli

Caros amigos

Obrigado pela ajuda, consegui resolver, desta forma:

<table>
  
<?php if($pastaDoclie != "" ){  ?>
   <a href="painel.php?exe=clientes/verDcto&idDoclie=<?php echo $idDoclie;?>" type="button" target="_blank" 
      class="btn btn-default btn-xs" style="font-size: 14px;" title="Visualizar Documento">
      <i class="fa fa-search"></i> Tela</a>

<?php } elseif($pastaDoclie == "" ) { ?>
    <a href="#" type="button" class="btn btn-default btn-xs" title="Não Consta Documento" disabled
       style="font-size: 14px;" ><i class="fa fa-search"></i> Tela</a>
<?php } ?>   
  
</table>
 <?php 

      include"../Conexao/config.php";

       //Variáveis Passada por Método POST
       $idDoclieGet = isset($_GET['idDoclie']) ? $_GET['idDoclie'] : false;
       $idDoclie = isset($_POST['idDoclie']) ? $_POST['idDoclie'] : $idDoclieGet;

      $sql_pegaDocto = "SELECT * FROM docCliente WHERE idDoclie = :idDoclie";
     
      try{
        $query_pegaDoctos = $conecta->prepare($sql_pegaDocto);
        $query_pegaDoctos->bindValue(':idDoclie',$idDoclie,PDO::PARAM_STR);
        $query_pegaDoctos->execute();
        
        $res_queryPegaDocto = $query_pegaDoctos->fetchAll(PDO::FETCH_ASSOC);
        
        }catch(PDOexcetpion $error_clientes){
          echo 'Erro ao seleciona os clientes!';  
        }

        foreach($res_queryPegaDocto as $resDocto){
                $idDoclie     = $resDocto['idDoclie'];
                $nomeDoclie   = $resDocto['nomeDoclie'];     
                $pastaDoclie  = $resDocto['pastaDoclie'];
                $validaDoclie = $resDocto['validaDoclie'];
          
              //Visualizar documento na tela
              header('Content-type: application/pdf');
              header('Content-Disposition: inline; filename="'.$pastaDoclie.'"');
              header('Content-Transfer-Encoding; binary');
              header('Accept-Ranges; bytes');
              readfile('docClie/'.$resDocto['pastaDoclie']);    
  
          }


    ?>

 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.