我根本不使用coldfusion,不过我需要修补一些代码。基本上我正在尝试检查我上传的文件是否存在,如果确实存在,则将变量增加 1。然后重复直到我得到一个唯一的文件名。无论出于何种原因,我都想不出使用 FileExist() 的正确方法。一些论坛建议将它与 len() 一起使用,但那些是从 2006 年开始的,当我这样做时,它似乎总是正确的。此外,当我查看http://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec22c24-7c66.html它说它返回是或否。我试图以各种方式检查结果,但没有运气。
这是我正在处理的代码部分。application.filepath 只是我的应用程序文件中的一个变量,它存储了 expandpath()。
<cffile action="upload" destination="#Application.filePath#ListingsGallery/" filefield="iconImage" nameconflict="makeunique">
<cfset iconPlace = #cffile.serverfile#>
<cfset myExt = listLast(iconPlace,".")>
<cfset i = 1 >
<cfset myVar = false>
<cfloop condition="myVar EQ false">
<cfset newIconName = "iconPhoto" & i &"."& myExt>
<cfset iconName = Application.filePath & "ListingsGallery/" & #newIconName#>
<cfoutput>#iconName#</cfoutput><br />//just checking to see if it is the correct path, it is.
<cfif FileExists(iconName) EQ 'Yes'>
<cfoutput>#myVar#</cfoutput> //checking the value, it never hits here.
<cfelse>
<cfoutput>#myVar#</cfoutput><br /> //checking the value, it always hits here.
<cfset myVar = true>
<cfoutput>#myVar#</cfoutput> //Again check the value.
</cfif>
<cfset i++>
</cfloop>
<cffile action="rename" source="#Application.filePath#ListingsGallery/#iconPlace#" destination="#Application.filePath#ListingsGallery/#newIconName#">
unix 服务器上的绝对路径类似于 /var/www/website 文件夹名称/ 等......对吗?那是绝对服务器路径,coldfusion 文档似乎至少指定了一个微软绝对服务器路径,所以我假设这是需要的。
编辑--------------- PS:我不能只给你们一个信用,所以我把它给了克鲁格,因为他来了分钟前。哈哈...