如何使用dompdf为我的PDF文件生成动态文件名?

时间:2011-10-14 17:21:44

标签: php filenames dompdf

我正在使用dompdf,这似乎进展顺利。

我将生成的pdf文件作为电子邮件附件。我想知道如何在文件名中附加一个唯一的编号,以便每个收到pdf的用户都没有相同的文件名。

我目前得到文件的名称,并获得我的名字已成功分配的任何内容,例如myfile.pdf。

作为测试,我还可以在文件名中附加一个随机数,如下所示:

$message = Swift_Message::newInstance()
                       ->setSubject('My Subject Text') // Message subject
                       ->setTo(array('me@mydomain.com' => 'MyName'))   // Array of people to send to
                       ->setFrom(array('no-reply@mydomain.com' => 'SenderName')) // From:
                       ->setBody($html_message, 'text/html') // Attach that HTML message from earlier
                       ->attach(Swift_Attachment::newInstance($pdf_content, 'myfile'.rand(10,1000).'.pdf', 'application/pdf')); // Attach the generated PDF from earlier

这适用于发送带有文件名和随机数的pdf。

但是我怎么能用更有意义的东西来做呢?

就像从特定数字开始并为每个提交的文件自动递增一样?

或者使用基于(或来自)SESSION的数字?

有意义的最佳做法是什么?

我希望每个文件名都是myfile_UNIQUENUMBER.pdf(我认为某种类型的自动增量或SESSION编号最好)

思想?

1 个答案:

答案 0 :(得分:0)

当您使用d/m/year AND TIME和您选择的名称时,可以将日期用作唯一编号,这样每个文件名都会有不同的编号..此代码:

  $tym = date('m-d-Y : hi a');
  $filename = ' APPLICATION '.$tym; // YOU CAN CHOOSE YOUR FILE NAME
  $message = Swift_Message::newInstance()
  ->attach(Swift_Attachment::newInstance($pdf_content,  $_POST["username"] . $filename. ".pdf", 'application/pdf')); //