这是我的代码:
<cfif (CFFILE.FileSize GT (4194304))>
Delete File
<cfelseif CFFILE.serverFileExt neq "png" >
Delete File
<cfelse>
It's ok
</cfif>
我想添加“jpg”和“jpeg”作为允许的文件类型。我试过了,这没有成功。
<cfif (CFFILE.FileSize GT (4194304))>
Delete File
<cfelseif ( ( CFFILE.serverFileExt neq "png" ) OR ( CFFILE.serverFileExt neq "jpg" ) OR ( CFFILE.serverFileExt neq "jpeg" ) ) >
Delete File
<cfelse>
It's ok
</cfif>
有什么想法吗?
解决方案:
我的 OR 语句需要是 AND,谢谢 Miguel-F,经过 Busches 的改进,这是最终结果:
<cfif (CFFILE.FileSize GT (4194304))>
Delete File
<cfelseif NOT ListFindNoCase("jpg,jpeg,png", CFFILE.serverFileExt)>
Delete File
<cfelse>
It's ok
</cfif>
谢谢大家!
最佳答案
正如 Miguel-F 所说,您的问题是您需要使用 AND
而不是 OR
。我还建议,在这种情况下,改用 ListFindNoCase()
而不是使用多个 OR/AND
语句。
<cfif CFFILE.FileSize GT 4194304> <!--- You also don't need all those () here --->
Delete File
<cfelseif NOT ListFindNoCase( "png,jpg,jpeg", cffile.ServerFileExt )>
Delete File
<cfelse>
It's ok
</cfif>
ListFindNoCase
更加简洁,更易于阅读和维护。
关于coldfusion - 如何在 cfif 语句中放置多个 NOT 条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15413176/