2013-02-28 52 views
0

我收到此錯誤信息:FPDF錯誤輸出發送到瀏覽器

FPDF error: Some data has already been output, can't send PDF file

當我啓動下面的代碼;你知道爲什麼嗎?你可以幫我嗎?

$i = 0; 
while ($i <= $y) 
{ 
    $namefilepdf=$x_labelname.$i.'.pdf'; 
    $pdf=new FPDF(); 
    $pdf->AddPage($x_lay,$x_dimpag); 
    $pdf->SetFont('Arial');   

    if (isset($x_toprint1)) 
    if ($x_toprint1=='on') 
     if (isset($x_progressive1)) 
     { 
      if ($x_progressive1=='on') 
      { 
      $pdf->SetFontSize($x_font1); 
      $pdf->Text($x_coordx1,$x_coordy1,$x_val1+$i); 
      } 
     } 
     else 
     { 
      $pdf->SetFontSize($x_font1); 
      $pdf->Text($x_coordx1,$x_coordy1,$x_valore1); 
     } 
    $pdf->Output($namefilepdf,'D'); 
    $i++; 
} 
+0

你會看到註釋線的時候'$ PDF - >輸出($ namefilepdf, 'd');'?一個空白的屏幕? – sofl 2013-02-28 13:47:11

回答

1

這是怎麼一回事,因爲在你的代碼的某個地方outputing你的PDF對象,你已經做了一些echovar_dump或任何其他輸出梅託德之前。 使用header你不能發送header語句之前別的標準輸出

+0

specifiy我假設你不能在'$ pdf-> Output($ namefilepdf,'D')輸出超過1個文件''>第一個文件可以通過但循環到另一個文件會給出錯誤。你怎麼能下載超過1個文件訪問只有1個網站鏈接? – ulkas 2013-02-28 13:47:40

2

對於FPDF工作outputing數據時,不能有任何其他輸出。諸如您的PHP文件中其他地方的echo聲明,您的<?php ?>標記之前或之後的任何內容(包括空格)都將導致該錯誤消息。

我懷疑在你的PHP文件的其他地方,可能有一些非FPDF輸出導致你看到這個錯誤。

1

使用輸出緩衝的位置: -

之前發送到輸出清潔使用ob_clean();輸出緩衝區。

ob_clean();//add this line 
$pdf->Output($namefilepdf,'D'); 

請參閱本link瞭解ob_clean();