toarelli Posted April 15, 2018 at 03:03 PM Report #610220 Posted April 15, 2018 at 03:03 PM 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
toarelli Posted April 16, 2018 at 04:22 PM Author Report #610226 Posted April 16, 2018 at 04:22 PM Caros amigos. Por favor, alguém pode me ajudar nesse problema. Está me deixando doido. Grato.
toarelli Posted April 16, 2018 at 04:25 PM Author Report #610227 Posted April 16, 2018 at 04:25 PM 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); */ ?>
devgoncalo Posted April 18, 2018 at 01:55 PM Report #610268 Posted April 18, 2018 at 01:55 PM 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
toarelli Posted April 19, 2018 at 01:01 PM Author Report #610287 Posted April 19, 2018 at 01:01 PM 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']); } ?>
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now