如何使用php创建目录并将其chmod设置为0777?

时间:2018-08-04 14:11:17

标签: php chmod

如何使用php创建目录并将其chmod设置为0777?我已经通过PHP搜索了与chmod相关的其他堆栈文章,所有文章都是与文件相关的,而不是目录...

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, 0777);
        }
    //My guess does not work

    $path    = $this->getPathForDocument($document->id);
    $data    = $this->formatter->encode((array) $document);

    return file_put_contents($path, $data);
}

2 个答案:

答案 0 :(得分:1)

您必须确保您当前的Web服务器用户对要运行mkdir命令的文件夹具有写权限。否则,您将无法使用PHP的mkdir方法。如果您无法创建文件夹,则也无法更改其所有权。

因此,首先请确保您的Web服务器用户具有适当的权限。然后在上面运行您的代码。

答案 1 :(得分:0)

偶然发现: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 /

它确实有效。

谢谢:)