我在Silex應用程序中使用Knp \ Snappy \ Pdf生成pdf。文件名是隨機的並保存到tmp目錄。用Silex/Symfony發送響應後刪除文件
$filename = "/tmp/$random.pdf"
$snappy->generate('/tmp/body.html', $filename, array(), true);
我想返回的響應PDF,
$response = new Response(file_get_contents($filename));
$response->headers->set('Pragma', 'public');
$response->headers->set('Content-Type', 'application/pdf');
return $response;
的PDF正確顯示在Web瀏覽器。當請求完成時,具有隨機文件名的文件仍然存在。在返回響應之前,我無法取消鏈接文件。我試着用register_shutdown_function註冊一個關閉函數,並從那裏取消鏈接文件。但是,這似乎並不奏效。有任何想法嗎?
你應該使用'BinaryFileResponse'的文件,它需要照顧的頭給你。 – leftclickben 2013-03-06 04:56:13