我的网站将包含数千个名为'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 ####的关注,我稍后会考虑这些问题。请专注于问题的答案,而不是一个困扰你的细节,不要回答。
发布于 2018-08-03 16:00:37
foreach(['./users','./mp3','./pdf'] as $path){
array_map(function ($val){
return shell_exec ("chmod 0777 $val");
}, glob("$path/*"));
}
发布于 2018-08-05 05:46:10
偶然发现了这个: PHP mkdir:PHP mkdir: Permission denied problem
他们建议这样: chown -R www-data:www-data /var/www/example.com/public_html/ chmod -R g+rw /var/www/example.com/public_html/
它真的起作用了。
谢谢:)
https://stackoverflow.com/questions/51667641
复制相似问题