2016-04-01 8 views
2

Ich habe Form.php-Datei, die Daten aus MySQL-Tabelle erhalten. form.phpDOMPDF funktioniert nicht, geben Fehler

<?php 
if(mysql_num_rows($sql)==0){ 
?> 
<table> 
    <tr> 
     <td>1.</td> 
     <td>America</td> 
    <tr> 
</table> 
<a href="pdf.php" target="_blank">Export as PDF</a> 
<?php 
} else { 
?> 
<table> 
    <tr> 
     <td>1.</td> 
     <td>India</td> 
    <tr> 
</table> 
<a href="pdf.php" target="_blank">Export as PDF</a> 
<?php 
} 
?> 

Und pdf.php

require_once("dompdf/dompdf_config.inc.php"); 
ob_start(); 
$html = file_get_contents('form.php'); 
$dompdf = new DOMPDF(); 
date_default_timezone_set('Asia/Kolkata'); 
$tym = date('g:i s'); 
$filename = 'FAA-8130_3_'.$tym; 
$dompdf->load_html($html); 
ob_end_flush(); 
$dompdf->render(); 
$dompdf->stream($filename. ".pdf", array("Attachment" => 0)); 

Wenn ich versuche, es als PDF-Datei zu exportieren, wird es geben Fehler ...

Fatal error: Call to a member function prepend_child() on a non-object in C:\wamp\www\path\to\dompdf\include\frame_tree.cls.php on line 231

Ich konnte nicht verstehen, warum es passiert. Ich habe this, this und this angesehen, konnte aber nicht auflösen.

+0

file_get_contents() gibt einen Dateiinhalt zurück, er wird Ihre PHP-Datei nicht ausführen !!! –

+0

@HalayemAnis Dann was soll ich tun ?? – Raj

+1

trennen Sie den Inhalt: Geschäft und Präsentation .. auch STOP mit mysql_ * verwenden Sie stattdessen mysqli_ * oder PDO –

Antwort

0

dompdf before 0.6.1 würde die Verarbeitung von PHP vor dem Rendern in PDF unterstützen. Das wurde aus Sicherheitsgründen entfernt und Sie sollten nun PHP vollständig in Ihrem Dokument verarbeiten, bevor Sie es an dompdf übergeben.

Der Code in pdf.php ist nah, aber nicht ganz richtig. Die folgenden sollten funktionieren (Ich habe auch für die Lesbarkeit neu organisiert).

date_default_timezone_set('Asia/Kolkata'); 
require_once("dompdf/dompdf_config.inc.php"); 

$tym = date('g:i s'); 
$filename = 'FAA-8130_3_'.$tym; 

ob_start(); 
require_once 'form.php'; 
$html = ob_get_clean(); 
ob_end_clean(); 

$dompdf = new DOMPDF(); 
$dompdf->load_html($html); 
$dompdf->render(); 
$dompdf->stream($filename. ".pdf", array("Attachment" => 0));