0

Java アプレットにファイルをロードさせる Java アプレットと JavaScript 関数を含む symfony2 のページがあります。これらのファイルはユーザーに依存し、各ファイルはユーザー フォルダーに保存する必要があります。

ユーザーのフォルダーは、symfony フォルダー (/temp/) のルートにあるディレクトリにあります。これらのフォルダー内のファイルを利用できるようにする必要があります (アセットのように?)。

// Controler ( What i have now )
$filepath = $this->get('kernel')->getRootDir().'/../temp/'.$userfolder;

// View ( what i would like -using twig )
{% set path = userfolder ~ '/' ~ filename %}
<a href="javascript:document.jmol.script('load {{ asset(path) }}; frame all');">link</a>
4

1 に答える 1

-1

ドキュメントルートがWebディレクトリにある場合、実行しようとしていることを実行できません。これは「ルート」ディレクトリであり、ブラウザからそれ以外のものにアクセスできないことを意味します。これは良いことです。そうしないと、サイトを閲覧しているユーザーが、アプリのセキュリティ構成などの他のディレクトリにアクセスできるようになります。

いくつかのオプションがあります。

a)webのサブディレクトリを使用して、web/tempなどのユーザーファイルを保持します

b)それらを別の場所に保持し、必要に応じてWebサブフォルダーにコピーします。これはsymfonyがアセットに対して行うことです

c)'temp / {user} / {filename}'のようなルートをインターセプトし、ファイルを保持しているディレクトリからこれらのファイルを提供する新しいコントローラーを作成します。

于 2012-10-17T12:20:12.320 に答える