[英]FPDF error: Some data has already been output
每当我尝试使用 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');
在剧本的开头。 所以,表头不能更改,在表头设置之前不会有入口;
2) 如果你说脚本在没有数据库搜索的情况下工作,那么错误可能在connect.php
文件中。 查看它以确保它不会向浏览器发送任何内容(在<?php ?>
内部和外部!
PS:FPDF 在调用时已经执行ob_clean()
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.