FPDF错误:已输出一些数据

时间:2013-04-12 12:41:58

标签: php pdf fpdf

每当我尝试使用FPDF创建PDF时,都会出现以下错误:

  

FPDF错误:某些数据已经输出,无法发送PDF文件(输出从路径:15开始)。

当我的文件中只有PDF脚本时,它可以工作,但我需要从我的数据库中收集一些数据。

我已将ob_clean();添加到函数Output();,但不幸的是,它仍然无效。

以下是我的代码:

<?php
include "connect.php";

$orderId = $_GET['OrderId'];
$findOrders = mysql_query("SELECT * FROM orderLines WHERE OrderId = $orderId ");
if (!$findOrders) { 
    die('Invalid query: ' . mysql_error());
}

while($row=mysql_fetch_array($findOrders)){
    $article = $row['article'];
    $quantity = $row['quantity'];
    $price = $row['price'];
}

require('fpdf17/fpdf.php');

$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,'Hello World!');
$pdf->Output();
?>

1 个答案:

答案 0 :(得分:0)

当显示此错误时,它表示除了PHP文件之外,某些数据正在发送到您的浏览器,也就是说, FPDF 将标题发送到文件为PDF,

header('Content-Type: application/pdf');

然而,您在标题规范之前输入了一些数据,如字符甚至是空格,这会导致错误。

两个选项:

1)在脚本的开头创建require('fpdf17/fpdf.php');。因此,标题无法更改,并且在标题设置之前不会有入口;

2)如果您说脚本在没有数据库搜索的情况下工作,那么错误可能在connect.php文件中。看看它以确保它不会向浏览器发送任何内容(在<?php ?>内部也在其外部!

P.S。:FPDF在调用时已经ob_clean()