2010-07-23 5 views
1

모두PHP5, ZEND, MVC 환경에서 PDF 다운로드 가능

저는 Zend Framework 및 MVC 스타일로 작성된 PHP5 응용 프로그램을 보유하고 있습니다. 내 응용 프로그램을 사용하면 여러 사용자가 로그인하여 권한에 따라 내용을 볼 수 있습니다. 홈 페이지에 드롭 다운이 있습니다. 드롭 다운을 선택하면 페이지가 테이블로 채워지는 ajax 호출이 발생합니다. 또한 mpdf 라이브러리를 이용하여 테이블 데이터로 PDF 파일을 생성합니다. 사용자가 생성 된 pdf를 다운로드 할 수 있도록 페이지에 "PDF 다운로드"라는 링크가 있습니다.

필자의 질문은 그런 환경에서 pdfs를 여러 사용자에게 가장 잘 제공하는 방법입니다. 공통 이름을 가진 하나의 pdf를 제공해야합니까? 또는 드롭 다운 값을 기반으로 여러 pdf 파일을 작성해야합니까 (과도한 것처럼 보입니까)? 나는 사용자들이 서로의 pdf를 보도록하고 싶지 않다. 또한 전체 응용 프로그램 디렉토리가 거의 750 개의 액세스 권한을 갖기 때문에 pdfs를 어디에 저장해야합니까?

감사합니다,

답변

1
  • 사용자가 저장하는 ID와 PDF의 캐시 된 버전이 ID와 같은
  • 매개 변수가 아약스
  • 로 전송됩니다 "다욲로드의 PDF"를 클릭? 좋아, 그것을 사용자에게 보여준다; 다른 :
    • PDF 생성
    • 캐시는
    • 보기 PDF 나는 userid-documentid (예를 들어, 사용자 1-문서 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');