私はコールドフュージョンをあまり使用していませんが、いくつかのコードにパッチを当てる必要があります。基本的に、アップロードしたファイルが存在するかどうかを確認して確認しようとしています。存在する場合は、変数を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: 1 人しか信用できません。分前。笑...