1

クリックするとpdfが生成され、fpdfクラスを使用したダウンロードを要求するリンクをページに追加しました。

私の新しい要件は、リンクをクリックすると、コンテンツが異なるn個のPDFが生成され、これらのPDFのダウンロードを要求されることです。

私は同じことを達成する方法を見つけることができません。

これについて私を助けてください。

ありがとう

4

4 に答える 4

2

http://www.phpconcept.net/pclzip/には、素敵な php zip ライブラリがあります。次のようなファイル名の配列があると想像してください

$filenames = array(
    "file_01.txt",
    "file_02.doc",
    "file_03.pdf"
);

コードは次のようになります (未テスト)

require_once('pclzip.lib.php');
$archive = new PclZip('archive.zip');
foreach($filenames as $filename) {
    $result = $archive->add($filename);
    if($result==0) {
        die ("Error: " . $archive->errorInfo(true));
    }
}
header("Content-type: application/octet-stream");
header("Content-disposition: attachment; filename=archive.zip");
readfile("archive.zip");

お役に立てれば ;-)

于 2010-05-20T10:35:53.757 に答える
1

複数のファイルをユーザーに送信することはできませんが、それらを生成し、サーバーにzipでパックして、1つのファイルとして送信することはできます。

于 2010-05-20T07:37:57.980 に答える
1

生成されたファイルをブラウザに送信する正しい方法は次の$pdf->Output()とおりです。これにより、生成された pdf ファイルを 1 つだけ送信できます。さらにファイルを送信する唯一のオプションは、ファイルを圧縮してから [1]、パッケージ ファイルを送信することです。

[1] http://www.devco.net/archives/2005/05/24/creating_zip_files_with_php.php

于 2010-05-20T07:44:47.453 に答える
1

PHPページでフローコードを使用しました:

 if(isset($_GET['get_pdf'])){
     $query = "SELECT * FROM tbl_fixation WHERE postedby = '$name_user' ORDER BY fixation_id ASC ";
      $data_query = $hrmdb->select($query);
      if($data_query ){
        $i=0;
        while ($rows= $data_query ->fetch_assoc()) {
          $i++;
          $fixation_id = $rows['fixation_id']; 
echo "<script> window.open('allpdf/single_letter_fixation.php?fixation_id=".$fixation_id."','_blank');</script>";  
    }}
     }

single_letter_fixation.php の pdf ファイルの出力オプションは次のとおりです。

$pdf->Output('D', $personal_file_number.pdf');

それはうまくいきます。

于 2019-04-30T11:46:46.527 に答える