web-dev-qa-db-ja.com

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());
48
user1079810

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ディレクトリ内のすべてのファイルが含まれていることです。

それ以外の私の唯一の提案は、ファイル名だけでなく、ファイルを書き込むための完全なディレクトリパスを指定することです。

83
startupsmith

私はあなたのコードをテストしましたが、私が見た唯一の問題は、あなたがファイルを書き込もうとするディレクトリに与えられた許可の欠如でした。

ファイルを置く必要があるディレクトリに「書き込み」許可を与えます。あなたの場合、それは現在のディレクトリです。

Linuxで「chmod」を使用します。

Windowsを使用している場合は、ディレクトリのセキュリティタブに「書き込み」を有効にして「全員」を追加します。

1
Charlie