2016-12-08 2 views
0

TCPDF에서 domPDF로 전환 한 이유는 html에서 pdf로 인보이스를 작성할 때 처리하기가 더 쉬워 보였기 때문입니다. 이제는 PDF 파일로 html 파일을 만들었으므로 PDF로 출력되지 않습니다. SQL 데이터베이스의 데이터가 PDF를 채워야하기 때문에 문제가 될 수 있습니다.(인라인) domPDF 7.0의 PHP

src-folder에 포함 된 options.php에서 PHP를 활성화 할 수 있다는 것을 보았습니다. 설명서에 기록되어있는 것처럼 보이려고했지만 (다른 여러 코드 줄도 시도했지만) 작동 :

$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를 보안 위험으로 여는 이유와 그 이유를 아는 데 관심이 있습니다. 외부 HTML 및 CSS 파일을로드하지 않고 주 PHP 파일에이 파일을 모두 포장하는 것이 더 바람직할까요?

미리 감사드립니다.

답변

0

file_get_contents("testdomhtml.php")은 파일의 실제 내용을 가져오고 그 안에 코드를 실행하지 않습니다. 대신 웹에 액세스하여 URL을이 페이지로 전달하십시오.

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

덕분

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

교체! '치명적 오류 : 원격 파일이 요청되었지만 원격 파일 다운로드가 사용 불가능합니다.'메시지와 함께 'Dompdf \ Exception'예외가 잡히지 않았습니다. /var/www/web1159/files/dompdf/src/Dompdf.php : 364' - 원격 파일 요청을 먼저 활성화해야합니다. 위의 방법보다 더 좋은 방법이라고 제안 하시겠습니까? 지금 당장은 @ ziah75 – Franky2207