【问题标题】:Store PDF in MySQL database将 PDF 存储在 MySQL 数据库中
【发布时间】:2012-11-06 00:05:54
【问题描述】:

我正在开发一个应用程序,我需要以 PDF 格式创建发票。我正在使用pdfbundle,并且正确创建了 PDF 文件:

public function helloAction()
{
    $format = $this->get('request')->get('_format');
    $name = "work!!!";
    return $this->render(sprintf('miomioBundle:Venta:helloAction.%s.twig', $format), array('name' => $name));
}

但是我怎样才能将该文件存储在数据库中呢?

【问题讨论】:

    标签: php pdf symfony twig


    【解决方案1】:

    最好将它们作为文件存储在磁盘上并在数据库中引用它们的位置。所以存储:

    /path/to/store/invoice_434992.pdf

    在相关表中,每个表都有一个唯一的文件名,并在需要的地方引用它。

    【讨论】:

      【解决方案2】:

      您是否有任何特殊要求要将这些 pdf 存储在数据库中。通常,将大型二进制内容存储在数据库中是一个坏主意。

      让发票在文件中,具有唯一的文件名,并将文件的路径存储在数据库表中。

      【讨论】:

      • 对不起,我的意思是将 pdf 保存在服务器上。我首先要证明PDF保存在服务器上,然后我将路径放在mysql中。有人帮我把pdf保存在服务器上吗?谢谢
      【解决方案3】:

      我已经做到了。有一篇很好的文章介绍了如何做到这一点。

      http://www.php-mysql-tutorial.com/wikis/mysql-tutorials/uploading-files-to-mysql-database.aspx

      正如其他人所说,将二进制数据存储在数据库中可能不是一个好主意。

      【讨论】:

        【解决方案4】:

        您可以在数据库中创建一个表:

        ____________________________________________
        | ID | TIME | QUERY | PDF_NAME | PDF_FILE  |
        |----|------|-------|----------|-----------|
        ... 
        

        PDF_FILE 的类型是 BLOB,其余的都是不言自明的。这样,如果您愿意,您可以搜索不久前发生的查询的结果。

        【讨论】:

          猜你喜欢
          • 2011-04-16
          • 1970-01-01
          • 1970-01-01
          • 2012-09-26
          • 1970-01-01
          • 2011-05-07
          • 1970-01-01
          • 1970-01-01
          • 2013-08-14
          相关资源
          最近更新 更多