2

我正在使用 ColdFusion 8。

我正在创建一些代码来创建一个文件夹并插入一个文件。该文件稍后将由人工进行调整。

我创建这样的目录:

<cfdirectory action="create" directory="#LOCAL.PathToCreate#">

接下来,我需要创建一个名为 index.cfm 的文件。现在,需要进入 index.cfm 文件的内容在 Test-21-index.txt 中。我创建这样的内容:

<cfsavecontent variable="LOCAL.MyContent">
    <cfinclude template="Test-21-index.txt">
</cfsavecontent>
<cffile action="write" file="#NewTreatmentPath##LOCAL.NewFile#" output="#LOCAL.MyContent#" nameconflict="overwrite">

Test-21-index.txt 的内容中包含 ColdFusion 代码。我遇到的问题是当我包含文件 Test-21-index.txt 时,ColdFusion 代码正在运行。

如何将代码创建为在文件创建期间未运行的文本文件?

更新 ~ 有这么多工具可用于实施我的解决方案,我只需要正确的组合。我没有读取文件,使用 cfsavecontent,然后写入文件,而是复制了文件。啊。那太容易了。

<cffile action="copy" source="#CurrentDirectory#\#LOCAL.FileToInclude#" destination="#NewTreatmentPath#\#LOCAL.NewFile#">
4

1 回答 1

6

cfinclude您可以使用cffile读取文件,然后在cfsavecontent标签中输出其内容,而不是使用:

<cffile action="read" file="test-21-index.txt" variable="fileContent" />

<cfsavecontent variable="LOCAL.MyContent">
   <cfoutput>#filecontent#</cfoutput>
</cfsavecontent>

<!--- or even <cfset LOCAL.MyContent = fileContent /> --->

<cffile action="write" file="#NewTreatmentPath##LOCAL.NewFile#" output="#LOCAL.MyContent#" nameconflict="overwrite">

代码未经测试,但我认为它应该可以工作。不过,我相信您将需要找到一条与众不同的道路test-21-index.txt

于 2012-07-02T17:12:31.273 回答