使用php从数据库显示pdf

时间:2013-08-10 02:11:39

标签: php mysql database pdf displayobject

我的数据库中存储了一个pdf文件,作为[BLOB - 143.3 KiB]。它有一个12的用户ID。我试图将它调用到页面,这样当我点击一个按钮时,pdf填充网页。

if (isset($_POST["work"]) && !empty($_POST["work"])) 
 {
   $result = mysql_query("SELECT file FROM ce WHERE userid=12", $c) or die("six");
   $document1=mysql_result($result, 0, 'file'); 
   echo $document1;
 }

 echo '
       <form action="yourcase.php" method="post">
          <input type="hidden" name="work" value="1">
          <input type="image" id="work" src="images/papers.png">
       </form>'; 

目前,它回应了这样一页:‰ŒAÂ@ E÷9Å_ê&amp;Ói[Ž€€£ZqŠôúÆŽ@ïåÿ&amp;ŠÆÑ,¢Y [«*ÆX%Ó@ /ROÝçÇ¡。

使用另一篇文章,我能够从我的桌面调用pdf文件,但我无法弄清楚如何从数据库中执行此操作。

$file = 'sample.pdf';
$filename = 'sample.pdf'; 
header('Content-type: application/pdf');
header('Content-Disposition: inline; filename="' . $filename . '"');
header('Content-Transfer-Encoding: binary');
header('Content-Length: ' . filesize($file));
header('Accept-Ranges: bytes');
@readfile($file); 

感谢@Fred,我能够拼凑出一个有效的解决方案。这就是我一直在努力做的事情:

if (isset($_POST["work"]) && !empty($_POST["work"])) 
 { 
   $result = mysql_query("SELECT file FROM ce WHERE userid=12", $c) or die("six");
   $document1=mysql_result($result, 0, 'file'); 
   header('Content-type: application/pdf');
   echo $document1;
 }

 echo '
        <form action="fetchdoc.php" method="post">
           <input type="hidden" name="work" value="1">    
           <input type="image" id="work" src="images/papers.png">
        </form>'; 

3 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

您必须创建pdf文件,然后使用标头来读取该文件。如果您不打算保留文件,可以将它们加载到临时目录,然后在完成后删除它们。如果您回显数据库中的blob数据,就像打开带有记事本的.pdf文件一样。

答案 2 :(得分:0)

感谢@Fred,我能够拼凑出一个有效的解决方案。这就是我一直在努力做的事情:

if (isset($_POST["work"]) && !empty($_POST["work"])) { 
$result = mysql_query("SELECT file FROM ce WHERE userid=12", $c) or die("six");
$document1=mysql_result($result, 0, 'file'); 
header('Content-type: application/pdf');
echo $document1;}
echo '<form action="fetchdoc.php" method="post"><input type="hidden" name="work" value="1">    
<input type="image" id="work" src="images/papers.png"></form>';