Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Visualize o arquivo armazenado no banco de dados usando php no navegador


De acordo com seu código, $row[1] é "o nome do arquivo". O cabeçalho do tipo de conteúdo deve conter o tipo de conteúdo em vez disso, ou seja, o tipo mime do arquivo, por exemplo:
header('Content-type: application/pdf');

Se você quiser adicionar um nome de arquivo:
header('Content-type: application/pdf');
header('Content-Disposition: attachment; filename='.$row[1]);
print $data;

Certifique-se de $data é o conteúdo do arquivo, algo que você pode pegar de readfile() por exemplo.

Leia mais no manual:http://php.net/manual/en/function .readfile.php

Lembre-se de que, embora PDF e imagens sejam facilmente visualizados por um navegador, acho que o Excel precisa de alguns ad hoc plug-in para isso.

Um exemplo mais completo saído do manual , para ter uma ideia mais completa (nem todos esses cabeçalhos são necessários e você deve alterar outros de acordo com seu código):
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));

ob_clean();
flush();
readfile($file);

exit;