как сохранить сгенерированный DOMPDF контент в файл?

Я использую Dompdf для создания PDF-файла, но не знаю, почему он не сохраняет созданный PDF-файл на сервере.

Есть идеи?

require_once("./pdf/dompdf_config.inc.php");
    $html =
      '<html><body>'.
      '<p>Put your html here, or generate it with your favourite '.
      'templating system.</p>'.
      '</body></html>';

    $dompdf = new DOMPDF();
    $dompdf->load_html($html);
    $dompdf->render();
    file_put_contents('Brochure.pdf', $dompdf->output());

person TomTom    schedule 04.01.2012    source источник
comment
Версия домпдф? Любые ошибки PHP?   -  person BrianS    schedule 04.01.2012
comment
dompdf 0.5.2, php 5.2.13   -  person TomTom    schedule 05.01.2012
comment
Я не вижу ничего, что могло бы помешать вам сохраниться, поэтому я предполагаю, что ошибка конфигурации сервера. Возможно, PHP не может писать в этот каталог? В этом случае PHP сообщит об ошибке. Проверьте журнал ошибок PHP или включите отображение ошибок.   -  person BrianS    schedule 05.01.2012


Ответы (2)


Я только что использовал dompdf, и код был немного другим, но он работал.

Вот:

require_once("./pdf/dompdf_config.inc.php");
$files = glob("./pdf/include/*.php");
foreach($files as $file) include_once($file);

$html =
      '<html><body>'.
      '<p>Put your html here, or generate it with your favourite '.
      'templating system.</p>'.
      '</body></html>';

    $dompdf = new DOMPDF();
    $dompdf->load_html($html);
    $dompdf->render();
    $output = $dompdf->output();
    file_put_contents('Brochure.pdf', $output);

Единственное отличие состоит в том, что включены все файлы из каталога include.

Помимо этого, моим единственным предложением было бы указать полный путь к каталогу для записи файла, а не только имя файла.

person startupsmith    schedule 04.01.2012

Я проверил ваш код, и единственная проблема, которую я увидел, заключалась в отсутствии разрешения на каталог, в который вы пытаетесь записать файл.

Дайте разрешение на запись в каталог, в который нужно поместить файл. В вашем случае это текущий каталог.

Используйте «chmod» в Linux.

Добавьте «Все» с включенной «записью» на вкладку «Безопасность» каталога, если вы находитесь в Windows.

person Charlie    schedule 03.09.2015