私は現在 wkhtmltopdf を使用して pdf ファイルを生成しています。最近生成されたファイルをリンクしてユーザーがダウンロードできるようにしたいのですが、ユーザーがセッションを終了してからそれらを削除します。サーバー上でファイルを生成しなくてもこれを達成する方法はありますか?
質問する
447 次
1 に答える
1
<?php
exec("/path/to/binary/wkhtmltopdf http://www.google.com /location/test.pdf");
$file = "/location/test.pdf";
$pdf = file_get_contents($file);
header('Content-Type: application/pdf');
header('Cache-Control: public, must-revalidate, max-age=0'); // HTTP/1.1
header('Pragma: public');
header('Expires: Sat, 26 Jul 1997 05:00:00 GMT'); // Date in the past
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Content-Length: '.strlen($pdf));
header('Content-Disposition: inline; filename="'.basename($file).'";');
ob_clean();
flush();
echo $pdf;
unlink($file);
?>
ファイルが削除されないという問題がある可能性があるので、古いファイルを削除するためのcronジョブを追加します。
于 2012-08-23T19:51:13.470 に答える