【发布时间】:2018-08-03 07:43:31
【问题描述】:
我的网站将包含数千个名为“e”的子目录,用于保存用户创建的特定于该目录提交表单的 .json 文件。我需要这个新创建的目录是 chmod 0007。我该怎么做?
下面的代码来自一个 php 文件,用于在文件夹“e”中进行本地存储的全局存储功能,但它仅在该文件夹已经存在并且已经 chmod 0007 时才有效:
public function store(Document $document) {
if (!isset($document->id)) { $document->id = $this->generateId(); }
//This is my guess how to do it..
$this->path = $this->path . DIRECTORY_SEPARATOR
if (!file_exists($this->path)) {
mkdir($this->path);
chmod($this->path, 0007);
}
//My guess does not work
$path = $this->getPathForDocument($document->id);
$data = $this->formatter->encode((array) $document);
return file_put_contents($path, $data);
}
注意:我已经通过 PHP 搜索了与 chmod 相关的其他堆栈文章,所有文章都与文件相关,而不是目录,和/或迄今为止没有一个足够清楚以帮助我。请仅链接到专门回答这个确切问题的内容。
注意:这不是哪个 chmod 最好的问题。感谢您对 chmod #### 的关注,稍后我会考虑这些问题。请专注于问题的答案,而不是一个困扰您的细节,而不是回答。
【问题讨论】:
-
0007?您确定吗?你能解释一下为什么0007吗? -
也许他对 Bond 参数感到困惑...... *badum tssssss*
-
请注意mkdir的第二个参数持有该目录的文件权限