如何在HTML中嵌入数据库/PHP中的PDF文件

如何在HTML中嵌入数据库/PHP中的PDF文件,php,html,mysql,blob,embed,Php,Html,Mysql,Blob,Embed,我想从MySQL数据库中的BLOB中获取PDF文件。显示PDF的PHP工作正常: <?php $mysqli = new mysqli("192.168.1.11", "root", "password", "DB"); if ($mysqli->connect_errno) { die("Connection refused: " . $mysqli->connect_error); } try{ $sql = "SELECT file FROM tabl

我想从MySQL数据库中的BLOB中获取PDF文件。显示PDF的PHP工作正常:

<?php


$mysqli = new mysqli("192.168.1.11", "root", "password", "DB");
if ($mysqli->connect_errno) {
    die("Connection refused: " . $mysqli->connect_error);
}

try{
   $sql = "SELECT file FROM table WHERE id = 1";
   $result = mysqli_query($mysqli, $sql);        
   $row = mysqli_fetch_object($result);
   header('Content-type: application/pdf');

   echo $row->file;   

}catch(Exception $e){
    echo "caught exception: ", $e->getMessage(), "\n";
}

?>

现在我想把这个PDF文件嵌入到HTML中。我试过这样的方法:

<?php
$pdf = "MY_PDF_FILE.PDF";        ◄
echo <<<BLOCK
  <!DOCTYPE html>
  <html>
    <head>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <title>Embeded PDF</title>
    </head>
    <body>
      <embed src="$pdf" type="application/pdf" height="25%" width="25%">
     </body>        ▲
  </html>
    BLOCK;
?>

我试图保存
$row->文件$pdf=$row->file在
$pdf
中的code>。当我尝试调用我网站的index.php时,它总是显示PDF文件无法显示,我只看到浏览器的PDF查看器


有人能帮我吗/

您可以使用iframe元素来显示PDF。 您可以将base64编码的blob加载到iframe的data属性。 在您的数据属性中,您需要写:“application/pdf;base64,'在base64字符串之前

<iframe data="data:application/pdf;base64,B64STRINGHERE" type="application/pdf" style="height:200px;width:60%"></iframe>

所以你必须做一些类似的事情:

<?php
    // Connection to DB + Retrive blob
    // We assume that your '$row->file' contains Blob data.
    // So encode '$row->file' to base 64
    $pdf = base64_encode($row->file); // BLOB TO BASE64
    echo <<<BLOCK
    <!DOCTYPE html>
    <html>
        <head>
          <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
          <title>Embeded PDF</title>
        </head>
        <body>
          <iframe data="data:application/pdf;base64,$pdf" type="application/pdf" style="height:200px;width:60%"></iframe>
        </body>        
    </html>
    BLOCK;
?>

$pdf
应该是显示pdf文件的第一个脚本的URL。可能是Thank barmar的副本,它起作用了:)很抱歉这个简单的问题