2016-11-25 4 views
0

なぜ動作しないのかわかりません。私はezpdfクラスで複数のpdfを生成するためにwhileループを使用しましたが、1つのpdfだけが作成されています。私も 'for loop'を試みましたが、まだ同じです。複数のpdfを達成するにはどうすればよいですか?EZPDFで複数のPDFを一度に生成

include ('class.ezpdf.php'); 
$limit = 1; 
while($limit < 5){ 
    $colw = array(  80 , 40, 220, 80,  40 );//column widths 
$rows = array(
    array('company','size','desc','cost','instock'), 
    array("WD", "80GB","WD800AAJS SATA2 7200rpm 8mb"  ,"$36.90","Y"), 

); 

//x is 0-600, y is 0-780 (origin is at bottom left corner) 
$pdf =& new Cezpdf('LETTER'); 

$total=0; 
$curr_x=80; 
$curr_y=600; 
foreach($rows as $r) 
{ 
    $xoffset = $curr_x; 
    foreach($r as $i=>$data) 
    { 
     $pdf->setColor(0/255,0/255,0/255); 
     $pdf->addText($xoffset, $curr_y , 10, $data); 
     $xoffset+=$colw[$i]; 
    } 
    $curr_y-=20; 
} 
define('MY_FILENAME', 'testDoc'.$limit.'.pdf'); 
$pdfcode = $pdf->ezOutput(); 
$fp = fopen(MY_FILENAME, 'wb'); 
fwrite($fp, $pdfcode); 
fclose($fp); 

} 

答えて

1

たぶん私は、ループ内で)あなたは(定義で一定の値を設定しようとするので、あなたの問題が発生したと思います。 私はそれをテストし、define-variable(MY_FILENAME)はループ内で常に同じ値を持っていました。 PHPは定義済みの変数を再度設定しないようです。

あなたの解決策は、私はこのwoul'dの作品を願っています...このような通常の変数を使用して定義する変数(MY_FILENAME)を置き換えるために

for ($i = 0; $i < 10; $i++) 
{ 
    $myPDFFile = "PDF" . $i . ".pdf"; 

    $pdf = new Cezpdf('A4'); // create CezPDF-object 

    // write content to PDF-file 

    $pdfCode = $pdf->output(); // content of PDF to variable 

    $file = fopen($myPDFFile, "wb"); 
    fwrite($file, $pdfCode); 
    fclose($file); 
} 

代わりの

for ($i = 0; $i < 10; $i++) 
{ 
    define(MY_FILENAME, "testDoc" . $i . ".pdf"); 
    ... 
} 

ことwoul'dあなたのために。

関連する問題