Ir ao conteúdo

[PHP] Link para PDF dentro de pasta


Ir à solução Resolvido por thiagosvl,

Posts recomendados

Postado

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!

Postado

@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>"; ?>
  • Solução
Postado

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!

Postado

@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.

Postado

@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!

Postado

 

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.

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...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!