Boa noite, pessoal!
Estou desenvolvendo uma aplicação que gera um arquivo a partir da integração com uma API. Gostaria de armazená-lo de uma forma que o usuário possa visualizar depois (como para abrir o pdf em uma aplicação blank, sem a necessidade de download). Alguém teria alguma dica a respeito de como fazê-lo?
Onde o arquivo vai estar?
No mesmo servidor da aplicação?
Sim, o arquivo estará no mesmo servidor da aplicação!
header(“location:…/_lib/tmp/arquivo.pdf”);
Vou tentar com esse, Haroldo! Obrigada!
No caso, para armazenar no banco de dados, eu uso o caminho relativo?
No banco de dados é diferente.
Precisa mudar o cabecalho da página html para saída PDF e dar um enchonno valor do campo decorado.
Se não for pedir demais, poderia me dar um exemplo do armazenamento desse caminho? Acredito que estou perdendo algum detalhe, pois quando a aplicação é gerada, ele abre corretamente o arquivo e armazena no banco de dados. Porém, quando tento exibir esse valor em uma grid, ele retorna erro “not found”.
Comecei os testes fazendo assim:
$diretorio_destino = '_lib/tmp/arquivo';
if (!file_exists($diretorio_destino)) {
mkdir($diretorio_destino, 0755, true);
}
$nome_arquivo = 'boleto_' . $boleto_id . '.pdf';
$caminho_arquivo = $diretorio_destino . ‘/’ . $nome_arquivo;
file_put_contents($caminho_arquivo, file_get_contents($boleto_pdf_link));
if (isset($caminho_arquivo)) {
$documento = $caminho_arquivo;
$sql = “UPDATE tbl_boleto SET documento = '” . $documento . “’ WHERE idtab_boleto = {idtab_boleto}”;
sc_exec_sql($sql);
}
header('location: ' . $caminho_arquivo);
exit();
}catch(PDOException $e) {
echo "Erro ao criar o arquivo: " . $e->getMessage();
}
Tabém já tentei adicionar “…/” antes do caminho, e ele retornou “Forbidden”
Você diz que o arquivo é gerado via api, e onde ele esta sendo salvo?
Essa é a questão.
O arquivo é gerado via api e salvo neste caminho que mandei acima, por meio desse código que eu testei. Ele guarda o pdf no servidor e armazena no banco de dados, o problema está sendo na exibição desse arquivo.
Vou te chamar em privado.
Tópico resolvido!
Solução: chamei o caminho diretamente pela pasta raíz “…/_lib” em uma aplicação blank e liguei a aplicação a um dos campos da tabela, fazendo com que ele exiba o arquivo em outra guia assim que ele for clicado!