簡體   English   中英

FPDF:輸出由pdf文件插入的php文件

[英]FPDF : Outputs php file insted of pdf file

我正在使用FPDF將表單數據輸出到PDF file。但是當我單擊Submit按鈕以將數據發布到generatepdf.php文件時,它將輸出generatepdf.php文件而不是正確的PDF文件。以下是我的代碼。

的HTML

<form action="generatepdf.php" method="post" enctype="multipart/form-data" onsubmit="return validation();" >

<input type="text" name="business_name" id="business_name" /></br>


<input type="file" name="logo" id="logo" accept="image/*" ></br>
<input type="submit" value="generate" name="submit" />
</form>

生成pdf.php

require('fpdf/fpdf.php');

$allowedExts = array("gif", "jpeg", "jpg", "png");
$temp = explode(".", $_FILES["logo"]["name"]);
$extension = end($temp);
if ((($_FILES["logo"]["type"] == "image/gif")|| ($_FILES["logo"]["type"] == "image/jpeg")|| ($_FILES["logo"]["type"] == "image/pjpeg")|| ($_FILES["logo"]["type"] == "image/x-png")
|| ($_FILES["logo"]["type"] == "image/png"))
&& in_array($extension, $allowedExts))
  {
  if ($_FILES["logo"]["error"] > 0)
    {
    echo "Return Code: " . $_FILES["logo"]["error"] . "<br>";
    }
  else
    {
      if (file_exists("upload/" . $_FILES["logo"]["name"]))
      {
      echo $_FILES["logo"]["name"] . " already exists. ";
      }
      else
      {
        $logo = date('dmYHis').$_FILES["logo"]["name"];
        move_uploaded_file($_FILES["logo"]["tmp_name"], "images/" . $logo);
        $pdf=new FPDF();

        //set document properties
        $pdf->SetAuthor('Suraj Ahir');
        $pdf->SetTitle('Test');

        //set font for the entire document
        $pdf->SetFont('Helvetica','B',20);
        $pdf->SetTextColor(50,60,100);

        //set up a page
        $pdf->AddPage('P');


        //insert an image and make it a link
        $image = 'D:\wamp\www\exportpdf\1.jpg';
        $pdf->Image($image,10,20,33,0,' ','http://www.fpdf.org/');


        $logoimage = "D:\wamp\www\\exportpdf\images\\".$logo;
        $pdf->Image($logoimage,10,220,25,25);

        //Output the document
        $name = date('dmYHis');
        $pdf->Output($name.'.pdf','I'); 
      }
    }
 }

您必須將pdf文件本地保存在服務器上,然后將用戶重定向到該文件。

因此,您必須像這樣編輯代碼的Output部分:

$pdf->Output($name.'.pdf','F'); // F is saving the file to the given filename
header('Location: ' . $name . '.pdf'); // redirect the user to the generated pdf file

這可以解決您的問題(也許您需要稍微調整一下代碼)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM