我可以将文件写入linux目录,指定cfscript中的文件权限吗?

问题描述 投票:4回答:1

我有一个函数将coldfusion查询结果作为文件写入临时目录。它工作正常,并节省了必须经常运行查询。

但是,我想编写一个git钩子来删除这些缓存的文件,因为当我们推送新代码时,数据可能已经过时,因此应该被替换。这些文件由apache用户在644模式下创建。 git用户与apache用户位于同一组中,因此为了让git用户能够删除文件,我想要创建它们,或者随后将它们设置为664模式。

最初我在使用objectSave之后添加了fileSetAccessMode:

objectSave( data, filepath );
fileSetAccessMode( filepath, '664' )

然而这似乎没有任何影响,所以尝试了

fileWrite( filepath, data, '664' );

这似乎也写文件很好,但没有设置权限。

我注意到Adobe Docs for fileWrite没有为模式指定参数,所以我想这就是为什么这不起作用。我更喜欢cfdocs.org,但我对their take on the cfscript versions of cffile感到很困惑,因为哪些函数使用了哪些参数并不明显。

经过一些更多的谷歌搜索,我发现这个cflib.org cftag style function,我想我可以借用和引用cfscript但我真的不想这样做。

我真正想知道的是,我可以纯粹在cfscript中实现这一点,还是在脚本和标签之间的API功能方面存在真正的差异? (我很确定在其他情况下就是这种情况)。

非常感谢任何输入。

coldfusion file-permissions
1个回答
3
投票

休息一下然后回到这里,我发现我可以使用

fileSetAccessMode( file, '664' );

在cfscript中,令人尴尬的是我在代码中的错误位置。但是,之前仍然需要单独创建该文件,因为

fileWrite( file, content );

不支持“模式”参数,如

<cffile action="write" file="file" output="content" mode="664">

consulted with some wiser members of the community,我有filed this as a bug with Adobe

© www.soinside.com 2019 - 2024. All rights reserved.