2014-01-07 35 views
1

我注意到,當使用標籤創建一個目錄,然後使用上傳/刪除文件時,它需要一個來自託管網站的驅動器根目錄的完整路徑。如果可能的話,我寧願使用與網站相關的位置。<cfdirectory>位置可以使用網站相關位置嗎?

這裏是我想要做什麼的例子:

<cfdirectory action="create" directory="users/files/myfiles"> 

但這最終在硬盤中創建的C:\users\files\myfiles一個新的文件夾結構。爲了得到它使我的網站本身的目錄我寫這篇文章:

<cfdirectory action="create" directory="/inetpub/wwwroot/mysite/users/files/myfiles"> 

我不喜歡把完全限定路徑的想法。它對我的需求來說不是非常靈活。

它與刪除文件相同的問題。我必須從硬盤驅動器的位置開始放入文件路徑,而不是相對於網站文件夾。這是正常的行爲嗎?

回答

6

只要使用expandpath();這會查找你的網站根目錄。這樣你就不需要硬編碼了。

即,

<cfset rootdir=expandPath('/users/files/myfiles')>
<cfdirectory action="create" directory="#rootdir#">

+0

似乎工作,謝謝。這是否意味着要完成?也就是說,需要完整路徑才能工作,而不僅僅是站點相關的路徑? –

+3

正確:cffile和cfdirectory是物理文件操作標籤,因此他們期望物理文件的完整路徑(可能與URL等不同,或者您可能需要操作webroot之外的文件)。 – Neokoenig

+0

輝煌謝謝您的解答和解答 –

相關問題