나는 데이터베이스를 검사하고 계정 시작 날짜가 특정 날짜 인 고객의 각 행을 반환하는 스크립트를 작성 중입니다. 고객이 지정된 날짜에 작성된 경우 고객 행이 내 기능으로 전달되어 데이터베이스의 고객 정보에서 PDF를 작성합니다.dompdf로 여러 PDF 파일 만들기
문제
I 각 고객이 데이터를 통해 루프입니다에 대해 하나의 PDF를 작성하고 PDF를 만들 수까지 생각하는 유일한 방법. 그렇게 할 때 나는 한 가지 문제가있다.
첫 번째 사용자의 PDF 만 작성됩니다. 두 번째와 관련된 일은 발생하지 않습니다.
Unable to stream PDF: headers already sent
브라우저 및 첫 번째 PDF 다운로드에 표시됩니다. 그러나 테스트 목적으로 데이터베이스에 두 개의 고객을 만들어야합니다. 브라우저에 데이터를 표시하고 두 고객이 모두 표시됩니다. 그래서 데이터가 존재하며 런타임에 존재한다는 것을 알고 있습니다.
예
// create instance of customer's that need to be created
$a = new SelectTempOne;
// obtain response from customers in database that have met timing requirement
$response = $a->selectUserForOne();
// loop through each row in the results and handle then pass to the pdf creation string
foreach($response as $i => $row) {
// statically typing template string to render email address of user
$temp1 = '
<!DOCTYPE html>
<html>
<head>
<title>Template 1</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" media="screen" href="pdf-templates/temp1/temp1.css" />
</head>
<body>
<div id="pdf_header">
<table>
<tr>
<td>'.$response[$i]['email'].'</td>
</tr>
</table>
</div>
</body>
</html>
';
// pass html to dompdf object
$dompdf->loadHtml($temp1);
// set option for the paper size and orientation
$dompdf->setPaper('A4', 'letter');
// Render the HTML as PDF
$dompdf->render();
//save the file to the server
$output = $dompdf->output();
file_put_contents('pdf/'.$response[$i]['email'].'.pdf', $output);
// Output the generated PDF to Browser
$dompdf->stream();
exit;
} // end of the for loop
?>
내가 고객의 이메일을 추가 할 경우이 줄은,
<td>'.$response[$i]['email'].'</td>
상담자를 만들 수 있도록 할 필요가 무엇
데이터베이스에서 반환 된 행을 반복하면서 PDF의 동적 양을?
* UPDATE *
Fatal error: Uncaught Dompdf\Exception: No block-level parent found. Not good. in /Users/wuno/Dropbox/google/devops/htdocs/tracker/login/dompdf/src/Positioner/Inline.php:45 Stack trace: #0 /Users/wuno/Dropbox/google/devops/htdocs/tracker/login/dompdf/src/FrameDecorator/AbstractFrameDecorator.php(872): Dompdf\Positioner\Inline->position(Object(Dompdf\FrameDecorator\Inline))
1 /Users/wuno/Dropbox/google/devops/htdocs/tracker/login/dompdf/src/FrameReflower/Inline.php(51):
Dompdf\FrameDecorator\AbstractFrameDecorator->position() #2 /Users/wuno/Dropbox/google/devops/htdocs/tracker/login/dompdf/src/FrameDecorator/AbstractFrameDecorator.php(893): Dompdf\FrameReflower\Inline->reflow(NULL) #3 /Users/wuno/Dropbox/google/devops/htdocs/tracker/login/dompdf/src/FrameReflower/Page.php(141): Dompdf\FrameDecorator\AbstractFrameDecorator->reflow() #4 /Users/wuno/Dropbox/google/devops/htdocs/tracker/login/dompdf/src/FrameDecorator/AbstractFrameDecorator.php(893): Dompdf\FrameReflower\Page->reflow(NULL) #5 /Users/wuno/Dropbox/google/devop in /Users/wuno/Dropbox/google/devops/htdocs/tracker/login/dompdf/src/Positioner/Inline.php on line 45
저는 혼란 스러울 것이라는 것을 깨달았 기 때문에 제 질문을 편집하고있었습니다. 실제 문제는 첫 번째 PDF 만 작성한다는 것입니다. 나는 서버에 여러 pdf 파일을 만들고 싶다. 이 스크립트는 cron 작업으로 실행되며 사용자가 브라우저에서 볼 수 없습니다. 나는 시험하는 동안 그것을하고 있었다. 그리고 저를 도와 주신 것에 대해 감사드립니다./그래서 스크립트가 실행되면 데이터베이스에 특정 날짜에 등록한 모든 고객에 대해 pdf를 작성해야합니다. 그런 다음 나중에 해당 pdf에 대한 링크를 관리자에게 보여줄 것입니다. – wuno
확인을 클릭하십시오. 루프에 'exit'가 있습니다. – miken32
고마워요. 업데이트를하면 치명적인 오류가 발생합니다. – wuno