gpt4 book ai didi

PHP文件夹权限问题

转载 作者:搜寻专家 更新时间:2023-10-31 21:43:34 25 4
gpt4 key购买 nike

我正在尝试使用 PHP 创建一个文件夹,然后在其中创建另一个文件夹。

如果这是我的目录结构

/home/site                           (owner : user1)

现在,我使用以下方法创建文件夹

mkdir("/home/site/newdir",0777);     (user : apache)

目录 /home/site/newdir 已创建,但该目录的用户是“apache

现在,做

mkdir("/home/site/newdir/anotherdir",0777);

不会在 newdir 中创建另一个目录。

请帮忙。我认为这是所有者的问题。 我也无法使用 chmod() 更改所有者。所有者保持不变。

可能是什么原因造成的?

编辑:

<?php
error_reporting(E_ALL);

mkdir("./m",0777); // works
mkdir("./m/v",0777); // doesnt work

并且页面上没有错误。

var_dump(is_writeable("./m")) // returns bool(true)

编辑: 这已得到修复。对于可能面临同样问题的其他人,这是因为 PHP 的安全模式处于“开启”状态。仍然不知道安全模式究竟做了什么不允许您创建嵌套目录的原因。

但现在可以了。感谢大家阅读。

最佳答案

mkdir() 创建的目录模式受您当前的 umask 影响,这就是为什么 chmod() 不适合您的原因。

尝试:

$old_mask = umask(0);
mkdir("/home/site/newdir/anotherdir",0777);
umask($old_mask);

关于PHP文件夹权限问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7372891/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com