PHP:创建只读文件而不使用 chmod()
我在服务器上禁用了 chmod(),但我仍然希望用户能够通过 PHP 创建只读文件,有没有办法做到这一点?
I have chmod() disabled on my server, but I still want users to be able to create read-only files via PHP, is there a way to do so?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你不能,因为不可能将任何内容放入只读文件中...
编辑实际上,有一种方法:
umask
操作允许您创建读/写文件描述符,即使底层目录条目是可读的 -仅有的。You can't, since it's impossible to put anything in a read-only file...
EDIT actually, there is a way:
The
umask
manipulation allows you to create a read/write file descriptor, even though the underlying directory entry is read-only.作为解决方法,您可以首先使用
file_put_contents()
存储文件,然后使用 < a href="http://php.net/ftp_chmod" rel="nofollow">ftp_chmod()
更改文件权限。另一个选项是通过命令行,但如果禁用 chmod,则 exec 也不太可能起作用。如果您的托管服务商禁用了这两个功能,那么这可能是有原因的。 (如果只是为了减少支持成本。)
As workaround, you could first store the files using
file_put_contents()
, and then useftp_chmod()
to change the file permissions.The other option would be via the commandline, but if
chmod
is disabled thenexec
is unlikely to work either. And if your hoster disabled both, then there likely is a reason for that. (If only it is to reduce support costs.)