从mysql数据库查看浏览器中的pdf文件

时间:2013-07-17 13:46:04

标签: php mysql pdf phpmyadmin

我正在尝试检索存储在mysql数据库中的pdf文件并在浏览器中显示它们。单击视图按钮时,它显示错误:failed to load pdf document

我的代码如下:

 $query=  mysql_query("SELECT uploaded_file FROM pdf_file where id='2'");
 header('Content-Description: File Transfer');
 header("Content-type: application/pdf");
 header('Content-disposition:inline; filename="'.$query.'"');
 @read($query);

在上面的代码中,单击视图按钮时,将传递文件ID。

2 个答案:

答案 0 :(得分:2)

您没有使用结果集....

$result=  mysql_query("SELECT uploaded_file FROM pdf_file where id='2'");
$row=mysql_fetch_row($result);
$file = $row['uploaded_file'];
header("Content-type: application/pdf");
@read($file);

另外 - 我不确定你为什么要内联使用内容处理。您可以按以下方式显示内联:

header('Pragma: public');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Content-Type: application/pdf');
header('Content-Transfer-Encoding: binary');
header('Content-Length: '.filesize($file));
@read($file);

答案 1 :(得分:0)

好的,那么为什么不将实际的FILE保存在目录中并将位置保存到数据库中的文件中。然后只需从数据库中调用文件引用,如果您在浏览器中安装了adobe,浏览器将打开它。认为这可能会缓和,然后将其保存为blob。