“我的网站”将包含数千个名为“ e”的子目录,这些子目录将保存用户创建的特定于该目录提交表单的.json文件。我需要这个新创建的目录为chmod0007。该怎么做?
下面的代码来自一个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 ####的关注,稍后再考虑。请重点关注问题的答案,而不是一个困扰您的细节,而无需回答。
答案 0 :(得分:0)
foreach(['./users','./mp3','./pdf'] as $path){
array_map(function ($val){
return shell_exec ("chmod 0777 $val");
}, glob("$path/*"));
}
答案 1 :(得分:0)
偶然发现: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 /
它确实有效。
谢谢:)