sql >> Base de Datos >  >> RDS >> Mysql

Ver el archivo almacenado en la base de datos usando php en el navegador

Según tu código, $row[1] es "el nombre del archivo". El encabezado del tipo de contenido debe contener el tipo de contenido en cambio, es decir, el tipo de archivo mime, por ejemplo:

header('Content-type: application/pdf');

Si desea agregar un nombre de archivo:

header('Content-type: application/pdf');
header('Content-Disposition: attachment; filename='.$row[1]);
print $data;

Asegúrese de $data es el contenido del archivo, algo que puede tomar de readfile() por ejemplo.

Lea más sobre el manual:http://php.net/manual/en/function .readfile.php

Tenga en cuenta que si bien un navegador puede ver fácilmente PDF e imágenes, creo que Excel necesita algo ad hoc complemento para eso.

Un ejemplo más completo directamente del manual , para tener una idea más completa (no todos esos encabezados son necesarios, y debe cambiar otros de acuerdo con su 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;