【发布时间】:2018-04-28 07:48:17
【问题描述】:
我使用 fpdf 生成了 pdf 文件,但出现错误。 Adobe 阅读器无法打开“invoice.pdf”,因为它不是受支持的文件类型或文件已损坏。任何帮助将不胜感激!
<?php
$f_name=$_POST['first-name'];
if(isset($_POST['submit']))
{
$f_name=$_POST['name'];
$l_name=$_POST['last-name'];
$email=$_POST['email'];
require("fpdf/fpdf.php");
$fpdf=new FPDF();
$fpdf->AddPage();
$fpdf->setFont("Arial","B",16);
$fpdf->Cell(0,10,"Invoice",1,1,"C");
$fpdf->Cell(95,10,"Name:",1,0,"C");
$fpdf->Cell(95,10,$f_name,1,1,"C");
$fpdf->Cell(95,10,"Last Name:",1,0,"C");
$fpdf->Cell(95,10,$l_name,1,1,"C");
$fpdf->Cell(95,10,"Email:",1,0,"C");
$fpdf->Cell(95,10,$email,1,1,"C");
$file_location = $_SERVER['DOCUMENT_ROOT']."/invoice/up_pdfs/".$f_name.".pdf";
file_put_contents($file_location,$fpdf);
ob_clean();
$fpdf->output();
header("Location: index.php");
}
?>
【问题讨论】:
-
exit();之前require("fpdf/fpdf.php");并检查您的逻辑是否有任何错误?并检查您的$_POST值,可能有错误。 -
@VipulSolanki,没有发现错误..
-
然后检查
$f_name,$l_name,$email和require("fpdf/fpdf.php");路径如果这没问题,然后尝试不使用 file_location,例如file_put_contents($f_name.".pdf",$fpdf); -
@VipulSolanki,我已经根据您的建议尝试了该表格。我正在获取帖子值并且生成的 pdf 未打开
-
打印此路径
$_SERVER['DOCUMENT_ROOT']."/invoice/up_pdfs/"并检查它是否正确然后尝试使用$fpdf->Output($file_location,'F');
标签: php redirect location adobe fpdf