Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

thiagosvl

[PHP] Link para PDF dentro de pasta

Recommended Posts

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 erro
if ($_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 arquivo
if ($_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 arquivo
if ($_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 escolhida
if (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!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá thiagosvl, Tudo Bem?

 

O Thiago Belem é realmente um cara que tem ótimos tutoriais no inicio da minha carreira eu mandava emails pedindo

ajuda dele para debugar..

 

Bom em relação a sua questão é algo bem simples

 

Você poderia pegar o login do cliente do banco de dados, ou de alguma session do login, ou ainda de alguma variável que já armazena ele.

 

Então realmente só concatenaria.

 

Acho que ficaria melhor e mais clean dessa forma:

<p>

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

</p>

Caso tenha dúvidas de como criar query para buscar no banco de dados o login do cliente ou armazenar em uma session, cookie, é só criar outro post que eu respondo

 

 

Atenciosamente, Paulo

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.