<cfdirectory>位置可以与站点相关位置一起使用吗?

vol*_*one 1 coldfusion coldfusion-10

我注意到,当使用标签创建目录然后使用上传/删除文件时,它需要一个来自托管网站的驱动器根目录的完整路径.如果可能的话,我宁愿使用与站点相关的位置.

这是我想做的一个例子:

<cfdirectory action="create" directory="users/files/myfiles">
Run Code Online (Sandbox Code Playgroud)

但这最终会C:\users\files\myfiles在硬盘中创建一个新的文件夹结构.为了让它在我的网站中创建目录,我必须写这个:

<cfdirectory action="create" directory="/inetpub/wwwroot/mysite/users/files/myfiles">
Run Code Online (Sandbox Code Playgroud)

我不喜欢必须放置完全合格的路径.它对我的需求不是很灵活.

它与删除文件的问题相同.我必须从硬盘驱动器上的位置开始放入文件路径,而不是在网站文件夹中的相对位置.这是正常的行为吗?

Neo*_*nig 6

只需使用expandpath(); 这将为您查找站点根目录.这样你就不需要硬编码了.

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

  • 更正:cffile和cfdirectory是物理文件操作标记,因此它们期望物理文件的完整路径(可能与URL等不同,或者您可能需要操作webroot之外的文件). (3认同)