sau*_*imo 5 coldfusion file-permissions
我有一个函数将 Coldfusion 查询结果作为文件写入临时目录。它工作正常,并且不必经常运行查询。
但是,我想编写一个 git hook 来删除这些缓存文件,因为当我们推送新代码时,数据可能已经过时,因此应该替换。这些文件是由 apache 用户在 644 模式下创建的。git 用户与 apache 用户在同一组中,因此为了让 git 用户能够删除文件,我想在其中创建它们,或者随后将它们设置为 664 模式。
最初我在使用 objectSave 之后添加了 fileSetAccessMode:
objectSave( data, filepath );
fileSetAccessMode( filepath, '664' )
Run Code Online (Sandbox Code Playgroud)
然而这似乎没有任何效果,所以尝试了
fileWrite( filepath, data, '664' );
Run Code Online (Sandbox Code Playgroud)
这似乎也可以很好地写入文件,但没有设置权限。
我注意到用于 fileWrite的Adobe Docs没有指定模式参数,所以我想这就是为什么它不起作用。总的来说,我更喜欢 cfdocs.org,但我对他们对 cffile 的 cfscript 版本的看法感到困惑,因为哪些函数使用哪些参数并不明显。
经过更多的谷歌搜索,我发现了这个cflib.org cftag 样式函数,我想我可以在 cfscript 中借用和引用它,但我真的不想这样做。
我真正想知道的是,我可以纯粹在 cfscript 中实现这一点,还是脚本和标签之间的 API 功能存在真正的区别?(我很确定在其他情况下也是这种情况)。
非常感谢您的任何投入。
休息了一下再回来,我发现我可以使用
fileSetAccessMode( file, '664' );
Run Code Online (Sandbox Code Playgroud)
在 cfscript 中,令人尴尬的是我把它放在了代码中的错误位置。但是,仍然需要在之前创建文件后单独执行此操作,因为
fileWrite( file, content );
Run Code Online (Sandbox Code Playgroud)
不支持“模式”参数,如
<cffile action="write" file="file" output="content" mode="664">
Run Code Online (Sandbox Code Playgroud)
在咨询了社区中一些明智的成员后,我已将此作为错误提交给 Adobe。
| 归档时间: |
|
| 查看次数: |
169 次 |
| 最近记录: |