Разрешить пользователям загружать PDF-файлы в среде PHP5, ZEND, MVC - PullRequest
1 голос
/ 23 июля 2010

Все,

У меня есть приложение PHP5, написанное с использованием Zend Framework и стиля MVC.Мое приложение позволяет нескольким пользователям входить в систему и просматривать контент на основе их привилегий.У меня есть выпадающий список на главной странице.При выборе раскрывающегося списка происходит вызов ajax, который заполняет страницу таблицей.Кроме того, он генерирует файл PDF с данными таблицы, используя библиотеку mpdf.На странице есть ссылка «Загрузить PDF», позволяющая пользователю загрузить сгенерированный PDF-файл.

Мой вопрос заключается в том, как в такой среде наилучшим образом предоставлять PDF-файлы нескольким пользователям?Должен ли я обслуживать один PDF-файл с общим именем или создать несколько PDF-файлов на основе значения раскрывающегося списка (выглядит как перебор)?Я не хочу, чтобы пользователи видели файлы PDF друг друга.Кроме того, где я должен хранить файлы PDF, так как почти весь каталог приложения будет иметь только 750 обращений.

Спасибо,

1 Ответ

1 голос
/ 23 июля 2010
  • Пользователь нажимает кнопку «Загрузить PDF»
  • Параметры типа ID отправляются с ajax
  • Существует ли сохраненная в кэше версия PDF с этим идентификатором? Хорошо, покажи это пользователю; еще:
    • Создать PDF
    • Кэшируйте это
    • Показать PDF для пользователя

У меня был бы ключ кеша, например userid-documentid (например, user1-document1), и имя документа, которое заставило бы их распознать его в «папке загрузок»: your-app document-name date.pdf (Полугодовой отчет 2010-07 ABC. pdf например).

Я бы где-то сохранял кеш в каталоге / tmp и представлял кешированные данные с пользовательским заголовком; следующее от Пример 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');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...