使用php显示数据库中的pdf

使用php显示数据库中的pdf,php,mysql,database,pdf,displayobject,Php,Mysql,Database,Pdf,Displayobject,有一个pdf文件以[BLOB-143.3KIB]的形式存储在我的数据库中。它的用户ID是12。我试着把它调到页面上,这样当我点击一个按钮时,pdf就会填充网页 if (isset($_POST["work"]) && !empty($_POST["work"])) { $result = mysql_query("SELECT file FROM ce WHERE userid=12", $c) or die("six"); $document1=mysql_re

有一个pdf文件以[BLOB-143.3KIB]的形式存储在我的数据库中。它的用户ID是12。我试着把它调到页面上,这样当我点击一个按钮时,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>'; 

多亏了@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>'; 
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>'; 
if(设置($\u POST[“work”])和&!空($\u POST[“work”]))
{ 
$result=mysql_query(“从ce中选择文件,其中userid=12”,$c)或die(“六”);
$document1=mysql_result($result,0,'file');
标题(“内容类型:应用程序/pdf”);
echo$document1;
}
回声'
'; 

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

浏览这些可能有帮助的链接


    • 多亏了@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>'; 
      
      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>'; 
      
      if(设置($\u POST[“work”])和&!空($\u POST[“work”]){
      $result=mysql_query(“从ce中选择文件,其中userid=12”,$c)或die(“六”);
      $document1=mysql_result($result,0,'file');
      标题(“内容类型:应用程序/pdf”);
      echo$document1;}
      回声'
      '; 
      
      为什么有两个不同的文件名
      $filename
      -
      $file
      我从这里得到了它,以防你想叫它“另一个”名字,因此
      $filename='Custom file name for the.pdf'
      我怀疑您是否想这样做,除非您想将其作为附件发送或以其他名称下载。请查看此问题,包括我在同一页上的答案。这可能会有帮助,谢谢弗雷德,但这对我来说不起作用。太好了。你能告诉我怎么做吗。我是个新手,我能想到的就是这个