在php中循环时生成fpdf文件

bxjv4tth  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(277)

我有个问题要问你们。。我想用php-fpdf为每个文件生成不同文件名的pdf文件。。这是我的密码

<?php
$no= 1;
$data = mysql_query("SELECT * FROM file");
while($c_data = mysql_fetch_array($data)){
$cek_pengesahan = mysql_query("SELECT * FROM simpeg_pangkat.pengesahan where 
tmt = '$data[tmt_baru]'");
$pengesahan = mysql_fetch_array($cek_pengesahan);
$file_name = 'File_'.$no++.'.pdf';
require('fpdf181/fpdf.php');
$pdf = new FPDF('P','mm','legal');
$pdf->AddPage();
$pdf->SetFont('Arial','B',12);
$pdf->SetXY(100,50-6);
$pdf->Cell(1000,10,'PETIKAN',0,'C');
$pdf->SetFont('Arial','B',12);
$pdf->SetXY(74,55-6);
$pdf->Cell(1000,10,'KEPUTUSAN BUPATI LUMAJANG',0,'C');
$pdf->SetFont('Arial','',12);
$pdf->SetXY(79,60-6);
$pdf->Cell(1000,10,'NOMOR : '.$pengesahan[no_sk],0,'C');
$pdf->SetXY(99,65-6);
$pdf->Cell(1000,10,'TENTANG',0,'C');
$pdf->Output("$file_name",'F');
}
?>

支持生成(file1.pdf,file2.pdf,file3.pdf)文件。但是在执行这个代码之后,它只生成文件\u 1.pdf。。不会生成文件\u 2.pdf和文件\u 3.pdf。

nszi6y05

nszi6y051#

放入require('fpdf181/fpdf.php');循环外或使用require_once('fpdf181/fpdf.php');当您在循环中使用它时,它将在第二次迭代中包含相同的类,这将导致重复的类定义。
另外,output方法的参数应该反转如下

$pdf->Output('F',"$file_name");

根据文档,输出函数如下
字符串输出([string dest[,string name[,boolean isutf8]])
描述
将文档发送到给定的目标:浏览器、文件或字符串。在浏览器的情况下,可以使用pdf查看器,也可以强制下载。如果需要终止文档,该方法首先调用close()。参数
目的地
发送文档的目的地。它可以是以下内容之一:
i:将文件内联发送到浏览器。如果可用,则使用pdf查看器。
d:发送到浏览器并强制下载名为name的文件。
f:保存到本地文件,名称由name指定(可能包括路径)。
s:以字符串形式返回文档。
默认值为i。
名称
文件的名称。如果是目的地s,则忽略它。默认值为doc.pdf。

相关问题