私はLinux上でSymfony 1.4を実行しています。私のアプリケーションは、PDFファイルを作成し、次のディレクトリにファイルを保存: /SRV/WWW /: /SRV/www /のバーチャルホスト/ myappに/ htdocsに/ STMTSここSymfonyルーティングの質問
は、特定のPDFファイルへのパスの例です。バーチャルホスト/ myappの/ htdocsに/ STMTS/example_001.pdf
私のsymfonyは、次のパスにインストールされています: /SRV/www /のバーチャルホスト/ myappに/ htdocsに
私は私のsymfonyアプリケーションからのルートを作成するにはどうすればよいですexample_001.pdfファイル? symfonyアプリケーションのpdfファイルへのリンクを作成したいと思っています。ユーザーがリンクをクリックすると、pdfが開きます。アクションは、実際にファイルを読み込み、コンテンツを送信し
public function executeDownload(sfWebRequest $request)
{
// assume this method holds the logic for generating or getting a path to the pdf
$pdfPath = $this->getOrCreatePdf();
// disbale the layout
$this->setLayout(false);
$response = $this->getResponse();
// return the binary pdf dat directly int he response as if serving a static pdf file
$response->setHttpHeader('Content-Disposition', 'attachment; filename="'. basename($pdfPath));
$response->setContentType('application/pdf');
$response->setContent(file_get_contents($pdfPath));
return sfView::NONE;
}
:
は、あなたがこのような何かをやってする必要が意味をなすためにルートを使用するためにあなた
私は最初の質問で私が十分にはっきりしていたとは思わない。ディレクトリには、ある種のセキュリティが必要です。理想的には、sfGuardを使用して、このディレクトリ内のpdfファイルを読み取るための認証が必要になります。私はちょうどpdfファイルにhrefを使用して、テンプレートにリンクを貼りたいと思います。私は誰かがpdfファイルの1つにURLを取得し、認証なしでファイルを読むことができないようにしたい。 –
私の追加のコメントを参照してください...他のセキュリティで保護されたアクション(またはsecurity.ymlを使用して設定する)のように、リクエストを処理する前に認証チェックを行ってjsutします。あなたは必ずしもDBを使用する必要はありません。なぜなら、典型的な例であるからです。 – prodigitalson