web-dev-qa-db-fra.com

comment enregistrer le contenu généré par DOMPDF dans un fichier?

J'utilise Dompdf pour créer le fichier PDF mais je ne sais pas pourquoi il n'enregistre pas le PDF PDF) sur le serveur.

Des idées?

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

Je viens d'utiliser dompdf et le code était un peu différent mais cela a fonctionné.

C'est ici:

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);

La seule différence ici est que tous les fichiers du répertoire include sont inclus.

En dehors de cela, ma seule suggestion serait de spécifier un chemin de répertoire complet pour écrire le fichier plutôt que juste le nom du fichier.

83
startupsmith

J'ai testé votre code et le seul problème que j'ai pu voir était le manque d'autorisation accordée au répertoire dans lequel vous essayez d'écrire le fichier.

Donnez une autorisation "d'écriture" au répertoire dont vous avez besoin pour placer le fichier. Dans votre cas, c'est le répertoire courant.

Utilisez "chmod" sous linux.

Ajoutez "Tout le monde" avec "écriture" activé à l'onglet de sécurité du répertoire si vous êtes sous Windows.

1
Charlie