每当我尝试使用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条答案
按热度按时间fhity93d1#
当显示此错误时,它表示PHP文件旁边的一些数据正在发送到您的浏览器,即FPDF将文件头发送到PDF文件,
header('Content-Type: application/pdf');
但是您输入了一些数据,比如在头规范之前输入一个字符甚至一个空格,这就导致了错误。
两个选项:
1)在脚本的开头做
require('fpdf17/fpdf.php');
,这样头就不能改了,头设置好之前就没有入口了;2)如果你说这个脚本不需要数据库搜索就可以运行,那么错误可能出在
connect.php
文件上。仔细检查一下,确保它没有向浏览器发送任何东西(<?php ?>
内部和外部也一样!P.S.:FPDF在调用时已经执行
ob_clean()
。