我正在使用FPDF
通过转换文本来保存pdf。
我正在使用以下代码:
<?php
require('fpdf.php');
class PDF extends FPDF
{
function ChapterBody($file)
{
// Read text file
$txt = file_get_contents($file);
$txt = str_replace("{{id_no}}","002",$txt);
// Times 12
$this->SetFont('Times','',12);
// Output justified text
$this->MultiCell(0,5,$txt);
// Line break
$this->Ln();
// Mention in italics
$this->SetFont('','I');
//$this->Cell(0,5,'(end of excerpt)');
}
function PrintChapter($num, $title, $file)
{
$this->AddPage();
// $this->ChapterTitle($num,$title);
$this->ChapterBody($file);
}
}
for($i=0;$i<3;$i++)
{
$pdf = new PDF();
$pdf->PrintChapter('','A RUNAWAY REEF','test.txt');
$pdf->Output('test'.$i.'.pdf','D');
}
?>
我已经使用for loop
下载了3次pdf文件,但是当我执行此代码时,它仅下载了一次文件名为test0.pdf的文件,为什么test1.pdf and test2.pdf
id未下载使用此代码?
答案 0 :(得分:0)
不能。这不是PHP的限制,而是HTTP / Web浏览器的限制。 HTTP没有提供一种通过一个请求发送多个文件的机制。
FPDF与它无关。如果要发送3个文件,可以先将它们打包为zip,然后再发送zip。
另一个耗时的选择是编写一个脚本,该脚本可以生成多个文件并以这种方式欺骗它。
答案 1 :(得分:0)
您不能一起下载这3个文件,因为 HTTP协议旨在每个请求仅发送一个文件。
您需要一次将3个文件存储在服务器的文件夹中,然后才能压缩它们。 This answer解释了如何将文件存储在zip文件中并下载。