2016-12-08 2 views
0

Я переключился с TCPDF на domPDF, потому что удобнее обрабатывать при создании счетов-фактур из html в pdf (я скорее низкий pro на PHP :)). Теперь, когда я создал html-файл в виде файла PDF, я понял, что он не выводит ни одного PHP в PDF-файле, так как данные из моих банков данных sql должны заполнять PDF-файл, это является проблемой.(Inline) PHP в domPDF 7.0

Я видел, что вы можете включить PHP в options.php, включенном в src-папку, и я попытался сделать то, что написано в руководстве (а также пробовал различные другие строки кода), но он просто не хочет к работе:

$root = realpath($_SERVER["DOCUMENT_ROOT"]); 

require_once ("$root/../xxx/dompdf/autoload.inc.php"); 

use Dompdf\Dompdf; 
use Dompdf\Options; 

$options = new Options(); 
$options->setIsPhpEnabled('true'); 
$dompdf = new Dompdf($options); 

$dompdf->loadHtml(file_get_contents("testdomhtml.php")); 

$dompdf->setPaper('A4', 'portrait'); 

$dompdf->render(); 

$dompdf->stream("bla",array("Attachment"=>0)); 

PDF показан, но без ввода какого-либо кода PHP.

Если кто-то был бы таким добрым, меня также интересовало бы, почему и в какой мере PHP является угрозой безопасности, поскольку я действительно хочу использовать это для своей компании. Было бы целесообразнее обернуть все это в основной файл php без загрузки внешних файлов html и css?

Большое спасибо!

ответ

0

Вы можете сделать что-то вроде этого (не проверял код). Заменить

$dompdf->loadHtml(file_get_contents("testdomhtml.php")); 

С

ob_start(); 
include 'testdomhtml.php'; 
$output = ob_get_clean(); 
$dompdf->loadHtml($output); 

Больше вариантов How to execute and get content of a .php file in a variable?

+0

, это работает благодаря вам! И спасибо за ссылку! – Franky2207

0

Ваш file_get_contents("testdomhtml.php") получит фактическое содержимое файла и не будет выполнять код внутри него. Вместо этого сделайте его доступным в Интернете и перейдите по этой ссылке:

$dompdf->load_html_file('http://yourdomain.ext/testdomhtml.php'); 
+0

спасибо за помощь! Это порождает: «Неустранимая ошибка: исключить исключение« Dompdf \ Exception »с сообщением« Удаленный файл запрошен, но удаленная загрузка файла отключена ». in /var/www/web1159/files/dompdf/src/Dompdf.php: 364' - Я предполагаю, что сначала должен включить удаленные запросы файлов. Не могли бы вы предложить, чтобы это был лучший метод, чем тот, который был сверху? На данный момент я использую решение, предложенное @ ziah75 – Franky2207