2010-07-23 53 views
1

全部,允許用戶使用PHP5,ZEND,MVC環境下載PDF文件

我有一個用Zend Framework和MVC風格編寫的PHP5應用程序。我的應用程序允許多個用戶根據他們的權限登錄並查看內容。我在主頁上有一個下拉菜單。在選擇下拉菜單後,會發生一個ajax調用,它會使用表填充頁面。此外,它還使用mpdf庫生成帶有表格數據的PDF文件。在頁面中有一個名爲「Download PDF」的鏈接,允許用戶下載生成的PDF。

我的問題是,在這樣的環境下,如何最好地向多個用戶提供pdf?我應該使用一個通用名稱來提供一個pdf嗎?還是應該根據下拉值創建多個pdf(看起來像是一種矯枉過正)?我不想讓用戶看到彼此的pdf。另外,我應該在哪裏存儲pdf,因爲整個應用程序目錄只有750 acccess。

感謝,

回答

1
  • 用戶點擊 「downlod PDF」
  • 參數,如ID與阿賈克斯
  • 發送是否有與該ID的PDF的緩存版本保存的?好的,展示給用戶。其他:
    • 生成PDF
    • 緩存它
    • 顯示PDF用戶

我會像userid-documentid(USER1,文檔1爲例)高速緩存鍵,命名文件的東西這將使他們在「下載文件夾」中識別它:your-app document-name date.pdf(例如,ABC半年報告2010-07.pdf)。

我會將緩存存儲在某處的/ tmp目錄中,並使用自定義標題顯示緩存的數據;以下是來自Example 1 @ php.net

<?php 
header('Content-type: application/pdf'); 

header('Content-Disposition: attachment; filename="ABC Half year report 2010-07.pdf"'); 

readfile('/tmp/user1-document1');