【问题标题】:Allow users to download PDFs in PHP5, ZEND, MVC environment允许用户在 PHP5、ZEND、MVC 环境下下载 PDF
【发布时间】:2010-07-23 13:08:36
【问题描述】:

全部,

我有一个用 Zend Framework 和 MVC 风格编写的 PHP5 应用程序。我的应用程序允许多个用户根据他们的权限登录并查看内容。我在主页上有一个下拉菜单。选择下拉列表后,会发生一个 ajax 调用,该调用会使用表格填充页面。此外,它使用 mpdf 库生成包含表格数据的 PDF 文件。页面中有一个名为“下载PDF”的链接,允许用户下载生成的pdf。

我的问题是,在这样的环境中,如何最好地为多个用户提供 pdf 文件?我应该使用通用名称提供单个 pdf,还是应该根据下拉值创建多个 pdf(看起来有点矫枉过正)?我不想让用户看到彼此的 pdf。另外,我应该在哪里存储 pdf,因为几乎整个应用程序目录只有 750 个访问权限。

谢谢,

【问题讨论】:

    标签: php zend-framework pdf


    【解决方案1】:
    • 用户点击“下载 PDF”
    • ID 等参数通过 ajax 发送
    • 是否存在保存了该 ID 的 PDF 缓存版本?好的,展示给用户;别的:
      • 生成 PDF
      • 缓存它
      • 向用户显示 PDF

    我会有一个像userid-documentid(例如user1-document1)这样的缓存键,并将文档命名为可以让他们在“下载文件夹”中识别它的名称: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');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-04
      • 2017-06-08
      • 1970-01-01
      • 1970-01-01
      • 2010-10-15
      • 2014-02-26
      • 2016-12-18
      • 2019-04-06
      相关资源
      最近更新 更多