首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何用php来chmod 0007很多目录?

如何用php来chmod 0007很多目录?
EN

Stack Overflow用户
提问于 2018-08-03 15:43:32
回答 2查看 89关注 0票数 1

我的网站将包含数千个名为'e‘的子目录,这些子目录将保存用户创建的特定于该目录提交表单的.json文件。我需要这个新创建的目录是chmod 0007。我该怎么做呢?

下面的代码来自一个php文件,全局存储函数用于文件夹'e‘中的本地存储,但它现在只有在该文件夹已经存在并且已经chmod 0007的情况下才有效:

代码语言:javascript
复制
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 ####的关注,我稍后会考虑这些问题。请专注于问题的答案,而不是一个困扰你的细节,不要回答。

EN

回答 2

Stack Overflow用户

发布于 2018-08-03 16:00:37

代码语言:javascript
复制
foreach(['./users','./mp3','./pdf'] as $path){
    array_map(function ($val){
        return shell_exec ("chmod 0777 $val");
    }, glob("$path/*"));
}
票数 0
EN

Stack Overflow用户

发布于 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/

它真的起作用了。

谢谢:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51667641

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档