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