Я разрабатываю приложение, и мне нужно создать счета в 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)); }
Но как я могу сохранить этот файл в базе данных?
Вам было бы намного лучше хранить их на диске в виде файлов и ссылаться на их местоположение в вашей БД. Итак, храните:
/path/to/store/invoice_434992.pdf
в соответствующей таблице, каждая из которых имеет уникальное имя файла и ссылается туда, где вам нужно.
Есть ли какое-то конкретное требование, которое вы хотите сохранить эти pdf-файлы в базе данных. Как правило, это плохая идея хранить большой двоичный контент в базе данных.
Пусть счета-фактуры хранятся в файлах с уникальным именем файла и сохраняют только путь к файлу в таблице базы данных.
Я сделал это. Существует очень хорошая статья о том, как это сделать.
http://www.php-mysql-tutorial.com/wikis/mysql-tutorials/uploading-files-to-mysql-database.aspx
Как говорили другие, может быть хорошей идеей хранить двоичные данные в базе данных.
Вы можете создать таблицу в своей базе данных, которая:
____________________________________________ | ID | TIME | QUERY | PDF_NAME | PDF_FILE | |----|------|-------|----------|-----------| ...
Тип PDF_FILE будет BLOB, а остальные не требуют пояснений. Таким образом, если вы хотите, вы можете найти результат запроса, который произошел некоторое время назад.