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>

どちらのマシンもColdfusion10を実行しており、ディレクトリが存在します。Macでの出力は

Files found 5
Query gives 5

とウィンドウズ

Files found 5
Query gives 0 

私は明らかなことを見逃していますか?

4

1 に答える 1

3

D:\tmpああ、私の推測では、Windowsは他のスラッシュの代わりにディレクトリ名を報告します: D:/tmp。そのため、directory = #filelocation#一致するものは返されません。この記事で説明されているように、これをよりプラットフォームに依存しないようにすることができる場合があります。

CFにはこの機能が組み込まれていると誓ったかもしれませんが、見つからないようです。

于 2013-03-26T17:49:53.560 に答える