0

我对 Coldfusion 9 中的一个目录进行了查询。为什么这段代码在 mac 上运行给出了预期的结果,但在 windows 上却没有?

<cfoutput>
<cfset fileLocation = "d:/tmp"> <!--- On mac set to /tmp --->
<cfdirectory
        action = "list"
        directory = "#fileLocation#"
        name = "files"
        >
Files found #files.recordcount# <br/>
<cfquery name="dir" dbtype="query">
        select  *
        from    files
        where   directory = <cfqueryparam value = "#fileLocation#">
</cfquery>
Query gives #dir.recordcount#
</cfoutput>

两台机器都运行 Coldfusion 10 并且目录存在。mac上的输出是

Files found 5
Query gives 5

在窗户上

Files found 5
Query gives 0 

我错过了显而易见的事情吗?

4

1 回答 1

3

啊,我的猜测是 Windows 将目录名称报告为D:\tmp而不是其他斜杠:D:/tmp。这就是为什么您directory = #filelocation#没有返回任何匹配项的原因。如本文所述,您也许可以使这个更加独立于平台。

我本可以发誓现在 CF 中有一个内置函数,但我似乎找不到它。

于 2013-03-26T17:49:53.560 回答