2011-10-14 65 views
1

我正在使用dompdf,這似乎很順利。如何使用dompdf爲我的PDF文件生成動態文件名?

我把我生成的PDF文件作爲電子郵件附件。我想知道如何在文件名中添加一個唯一編號,以便每個接收該pdf的用戶都沒有相同的確切文件名。

我目前獲取該文件的名稱並獲取我名稱已成功分配的任何內容,如myfile.pdf。

作爲一個測試,我還可以得到追加到文件名這樣的隨機數:

$message = Swift_Message::newInstance() 
         ->setSubject('My Subject Text') // Message subject 
         ->setTo(array('[email protected]' => 'MyName')) // Array of people to send to 
         ->setFrom(array('[email protected]' => '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(我認爲某種類型的自動遞增或會話的數量將是最好的)

的思考?

+0

PHP有一個很好的['uniqid ()'功能](http://php.net/manual/en/function.uniqid.php)這種事 – Clive

+0

什麼是pdf?我只問,因爲日期/時間對這類事情非常有效。可以是報告中pdf數據的日期/時間或pdf創建/運行的日期/時間。 –

+0

是的,我認爲日期和時間可能會起作用。無論如何格式化日期和時間?或者它只是寫成一串數字,如:101420111042 //意思是那個10/14/2011 10:42? – rick

回答

0

d/m/year和時間與您選擇的名稱使用它你可以使用日期作爲唯一編號,以便每個文件名都會有不同number..try驗證碼:

$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')); //