2012-10-17 87 views
0

我在symfony2中有一個頁面,它帶有一個java applet和javascript函數,它們使java applet加載文件。這些文件是依賴於用戶的,每個文件都必須存儲在用戶文件夾中。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> 

回答

-1

如果您的文檔根目錄位於Web目錄中,則無法執行您正在嘗試執行的操作。這是「根」目錄,這意味着您無法從瀏覽器訪問任何內容。這是一件好事,否則別人瀏覽你的網站將能夠訪問其他目錄,如您的應用程序的安全配置,等等

您有幾種選擇:

一)使用網絡的子目錄舉行您的用戶文件,例如web/temp

b)將它們放在其他地方,並根據需要將它們複製到Web子文件夾中。這就是symfony爲資產所做的事情

c)創建一個新的控制器,截取像'temp/{user}/{filename}'這樣的路由,然後從你持有這些文件的目錄中提供這些文件。

+0

事實上,我幾乎可以肯定,這是不可能的...我嘗試你的選擇a)在問之前,但是當我想創建一個像mkdir($ filepath,0777)這樣的文件夾時;我被拒絕了權限。 – user1254498

+0

更改Web文件夾中的權限 –

+0

權限爲web和web/temp文件夾的777(drwxr-xr-x)。 – user1254498