0

我在 symfony2 中有一个页面,其中包含一个 Java 小程序和使 Java 小程序加载文件的 javascript 函数。这些文件是用户相关的,每个文件都必须存储在用户文件夹中。

用户的文件夹位于 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

如果您的 doc 根目录位于 web 目录中,则您无法执行您正在尝试执行的操作。这是“根”目录,这意味着您无法从浏览器访问任何内容。这是一件好事,否则浏览您网站的人将能够访问其他目录,例如您的应用安全配置等...

你有几个选择:

a) 使用 web 的子目录来保存您的用户文件,例如 web/temp

b) 将它们保存在其他地方并根据需要将它们复制到网络子文件夹中。这就是 symfony 对资产所做的

c) 创建一个新的控制器,它拦截像“temp/{user}/{filename}”这样的路由,然后从你保存文件的目录中提供这些文件。

于 2012-10-17T12:20:12.320 回答