1

我正在开发一个应用程序,我需要以 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));
}

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

4

4 回答 4

4

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

/path/to/store/invoice_434992.pdf

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

于 2012-11-06T00:10:22.350 回答
2

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

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

于 2012-11-06T00:10:12.903 回答
2

我已经做到了。关于如何做到这一点,有一篇非常好的文章。

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

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

于 2012-11-06T00:11:21.913 回答
1

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

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

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

于 2012-11-06T00:10:13.077 回答