2013-05-28 49 views
0

當使用PHP,任何文件操作相對於服務器的根目錄做了,所以像mkdir("/home/website/public_html/a_directory將用於創建在腳本執行從該文件夾中的public_html目錄。Ruby on Rails:相對於服務器根的FileUtils?

在Rails中,使用FileUtils模塊,它與應用程序的路徑相關,如FileUtils.mkdir('public/a_directory'),它將在應用程序的公用文件夾中創建一個文件夾。

我所面臨的問題是,從我的申請,我希望能夠創建目錄,移動文件,重命名文件/文件夾和刪除文件/文件夾相對於服務器的根。

什麼是實現這一目標的最佳方式是什麼?或者我錯過了明顯的東西?

感謝, 斯特凡

回答

1

可以在FileUtil使用絕對路徑:

FileUtil.mkdir('/tmp/foo') 

將在隨後的服務器/tmp/目錄創建目錄foo

Rail.root握着你的Rails應用程序的根目錄。

可以延長像Rails.root.join('public','a_directory')的路徑。

記住DOCUMENT ROOTRails.root.join('public')

+0

也許我沒有正確解釋。如果我有我的應用程序在'主辦的/ home /網站/的public_html/my_app應用/',我希望能夠內'家用/網站操作的文件/文件夾/的public_html/another_folder /' –

+0

如果你的Rails應用程序是'/家/網站「,而不是你的應用程序在'/ home/website/app',你的'DOCUMENT ROOT'在'/ home/website/public'中。然後'Rails.root'指向'/ home/website',你可以從那裏建立路徑。 –

+0

啊,現在我想我明白你的問題,更新的答案 –