每当我尝试使用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();
?>
当这个错误显示时,它表示一些数据正在发送到PHP文件之外的浏览器,也就是说,FPDF将头发送到文件为PDF,
header('Content-Type: application/pdf');
但是,您正在输入一些数据,例如在标头规范之前输入字符甚至空白,这会导致错误。
两个选择:
1)在剧本开头制作require('fpdf17/fpdf.php');
。因此,header不能更改,并且在header设置之前不会有入口;
2)如果你说脚本工作没有数据库搜索,那么错误可能是在connect.php
文件。看看它,以确保它不会向浏览器发送任何内容(在<?php ?>
内部和外部)!
注:: FPDF在调用时已经做了ob_clean()