Ir ao conteúdo
  • Cadastre-se

[PHP] Link para PDF dentro de pasta


Ir à solução Resolvido por thiagosvl,

Posts recomendados

Boa tarde!

 

Desenvolvi um sistema de upload de arquivos com base em um código do Thiago Belem, e até o momento tudo funciona corretamente.

Código de upload de arquivos PDF: 

// Pasta onde o arquivo vai ser salvo$_UP['pasta'] = '../pdf/';// Tamanho máximo do arquivo (em Bytes)$_UP['tamanho'] = 1024 * 1024 * 2; // 2Mb// Array com as extensões permitidas$_UP['extensoes'] = array('pdf');// Renomeia o arquivo? (Se true, o arquivo será salvo como .jpg e um nome único)$_UP['renomeia'] = false;// Array com os tipos de erros de upload do PHP$_UP['erros'][0] = 'Não houve erro';$_UP['erros'][1] = 'O arquivo no upload é maior do que o limite do PHP';$_UP['erros'][2] = 'O arquivo ultrapassa o limite de tamanho especifiado no HTML';$_UP['erros'][3] = 'O upload do arquivo foi feito parcialmente';$_UP['erros'][4] = 'Não foi feito o upload do arquivo';// Verifica se houve algum erro com o upload. Se sim, exibe a mensagem do erroif ($_FILES['arquivo']['error'] != 0) {  die("Não foi possível fazer o upload, erro:" . $_UP['erros'][$_FILES['arquivo']['error']]);  exit; // Para a execução do script}// Caso script chegue a esse ponto, não houve erro com o upload e o PHP pode continuar// Faz a verificação da extensão do arquivo$up = explode('.',$_FILES['arquivo']['name']);$extensao = strtolower(end($up));if (array_search($extensao, $_UP['extensoes']) === false) {  echo "Por favor, envie arquivos com a extensão PDF";  exit;}// Faz a verificação do tamanho do arquivoif ($_UP['tamanho'] < $_FILES['arquivo']['size']) {  echo "O arquivo enviado é muito grande, envie arquivos de até 2Mb.";  exit;}// O arquivo passou em todas as verificações, hora de tentar movê-lo para a pasta// Primeiro verifica se deve trocar o nome do arquivoif ($_UP['renomeia'] == true) {  // Cria um nome baseado no UNIX TIMESTAMP atual e com extensão .pdf  $nome_final = md5(time()).'.pdf';} else {  // Mantém o nome original do arquivo  $nome_final = $_FILES['arquivo']['name'];}  // Depois verifica se é possível mover o arquivo para a pasta escolhidaif (move_uploaded_file($_FILES['arquivo']['tmp_name'], $_UP['pasta'] . $nome_final)) {  // Upload efetuado com sucesso, exibe uma mensagem e um link para o arquivo  echo "Upload efetuado com sucesso!";  echo '<a href="' . $_UP['pasta'] . $nome_final . '">Clique aqui para acessar o arquivo</a>';} else {  // Não foi possível fazer o upload, provavelmente a pasta está incorreta  echo "Não foi possível enviar o arquivo, tente novamente";}?> 

Dentro do meu sistema de meu sistema de LOGIN, cada cliente terá acesso ao seu arquivo PDF, uma vez que o arquivo terá o mesmo nome que o login, ou seja:

 

login = thiagosvl

arquivo pdf na pasta PDF/: thiagosvl.pdf

 

Tentei criar um link direcionando o cliente para seu respectivo arquivo, mas não funcionou, então deixei apenas o caminho da pasta. Da forma que está, quando eu clico no link sou direcionado diretamente para a pasta pdf/, aonde tem a lista de todos os PDF's.

 

Gostaria que quando o cliente clicasse no link, fosse direcionado para seu respectivo arquivo. Uma vez que, com o código abaixo, ele apenas é direcionado para a pasta que contém TODOS os pdf's.

LINK PDF INCOMPLETO: 

<?php echo '<a target="_blank" title="Arquivo PDF" href="pdf/">Clique aqui para acessar o arquivo PDF</a>'; ?>

Conto com a ajuda de vocês, até porque acredito que seja algo simples.

Desde já, obrigado!

Link para o comentário
Compartilhar em outros sites

@thiagosvl uma pergunta você quer que quando ele clica no link ja abra o pdf no navegador ou quer que mostre todos os pdf's no nome dele ?

 

se for pra abrir direto no navegador. e só fazer um consulta comparando o arquivo com o nome de usuario.

e retorna o valor encontrado.

<?php $arquivo = $retorno->arquivodousuario;echo "<a target="_blank" title='Arquivo PDF" href="pdf/$aquivo.pdf'>Clique aqui para acessar o arquivo PDF</a>"; ?>
Link para o comentário
Compartilhar em outros sites

  • Solução

Olá @dif , eu gostaria que abrisse o arquivo no navegador.

Mas já consegui da seguinte forma:

<a target="_blank" title="Arquivo PDF" href="pdf/<?php echo $LoginCliente ?>.pdf">Clique aqui para acessar o arquivo PDF</a>

Agradeço pela ajuda, pode dar como resolvido e encerrar!

Link para o comentário
Compartilhar em outros sites

@thiagoslv  também pode fazer assim , se o nome dos usuários não se repetir, só uma coisa, se os pdf's  tiverem algum conteúdo importante tenha cuidado porque se eu alterar o nome e ele pode abrir o arquivo de outra pessoa.

sugiro que faça uma validação antes de abrir o arquivo.

Link para o comentário
Compartilhar em outros sites

@thiagoslv  também pode fazer assim , se o nome dos usuários não se repetir, só uma coisa, se os pdf's  tiverem algum conteúdo importante tenha cuidado porque se eu alterar o nome e ele pode abrir o arquivo de outra pessoa.

sugiro que faça uma validação antes de abrir o arquivo.

 

Pode ajudar-me com essa validação? Ainda estou estudando, e creio que não sei por onde começar.

Se puder avaliar o código PHP lá em cima que envia!

Link para o comentário
Compartilhar em outros sites

 

Pode ajudar-me com essa validação? Ainda estou estudando, e creio que não sei por onde começar.

Se puder avaliar o código PHP lá em cima que envia!

@thiagosvl eu nao vou avaliar o código até porque estou apredendo também. até sugiro que mude o nome do pdf. porque mesmo que valide e ele mostre o pdf no nome dele e ele digitar na url nome de outra pessoa, vai abrir, ja que os pdfs estão tudo na mesma pasta. coloque outro nome.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...