Как я могу сгенерировать динамическое имя файла для моего PDF-файла с dompdf? - PullRequest
1 голос
/ 14 октября 2011

Я использую 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 с именем файла и случайным числом.

Но как я могу сделать это с чем-то более разумным?

Как начинать с определенного номера и автоматически увеличивать для каждого отправляемого файла?

Или использовать числа, основанные на (или из) СЕССИИ?

Что такоенаилучшая практика, которая будет иметь смысл?

Я бы хотел, чтобы каждое имя файла было myfile_UNIQUENUMBER.pdf (я думаю, что какой-то тип автоинкремента или номера SESSION был бы лучше)*

1 Ответ

0 голосов
/ 12 февраля 2013

Вы можете использовать дату в качестве уникального номера при использовании ее с d/m/year И ВРЕМЯ с именем, которое вы выбираете, поэтому каждое имя файла будет иметь другой номер. Попробуйте этот код:

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